iframe wilt hoogte niet aanpassen

Status
Niet open voor verdere reacties.

Sennec

Gebruiker
Lid geworden
17 jan 2009
Berichten
77
...<iframe src ="'.$j['link'].'" frameBorder="no" width="100%" height="500">
p>Your browser does not support iframes.</p>
</iframe>....

het gaat dus om de volgende soort links die hij invoegt: http://limburg.basketbalvlaanderen.org/klassement.asp?reeks=30101

dit is een verwijzing naar een klassement dat bij iedere reeks verschillend is van hoogte, en wanneer er op een ploeg geklikt wordt, verschijnt er een kalender die nog eens een andere hoogte heeft.

dus bij sommige reeksen komt hoogte 500 goed uit, bij andere is het veel te veel waardoor een grote lelijke witruimte verschijnt tussen het iframe en de tekst onder het iframe, en scrollbars willen we zeker vermijden.

De bedoeling is dus dat ik een iframe krijg dat meegaat met de inhoud

Ik heb dus al geprobeerd met "100%" in te geven en bij wijze van experiment zelfs 300% maar telkens gaaf hij een iframe van dezelfde hoogte wat pakweg slechts 150 px is.

Ik heb al gedacht dat het ergens iets was in de php waarin ik dit frame in implementeer, maar op mijn vorige -volledig in html geschreven- site was dit ook, dus ligt dit ergens anders aan.

Kan iemand mij een oplossing geven ?


Dit is de oude site, geef me wel wat tijd voor de links aan te passen die zijn nog van vorig seizoen en geven dus een fout.
http://nieuwerkerken-bc.co.nr
De nieuwe site staat helaas nog niet online
 
Laatst bewerkt:
Al eens geprobeerd met
HTML:
<iframe scrolling="auto"></iframe>
Mvg
Defietser
 
ik zou 'm inderdaad gewoon een standaard hoogte en breedte geven en dan scrolling="auto" invoegen zodat de gebruiker kan scrollen
verder heb ik ook geen oplossing XD
das gewoon een erg lastig punt
 
Ik heb zelf nog wat rondgezocht, en dat zou dus onmogelijk zijn zonder javascript die scrolling ga ik niet doen, want zo een scrollbar midden in je pagina is ook niet mooi.
ik heb ze nu een vaste hoogte gegeven die hoog genoeg is, die lelijke witruimte neem ik er nu tijdelijk maar bij. Als alles af is, dan ga ik mij begeven aan dat javascriptje

Maar jullie zijn wel bedankt voor alle hulp
 
Een ander idee is om de link die je nu in je iframe opent, met php ophalen, de nodige gegevens eruit te strippen en deze dan gewoon in een div echoën..
 
is mogelijk, ik ben mijn website nu toch geheel in php aan het maken aangezien het makkelijker is in onderhoud, alleen is dit mijn eerste php website, en moet mijn broer nog veel te dikwijls bijspringen.

maar hoe begin ik hieraan ? de gegevens strippen ?
 
haal je de info in je frame op van een andere site of van een andere file op je eigen site?
anders kan je ook gewoon je eigen file aanpassen en deze includen
 
volgens mij moet je dat gewoon kunnen includen inderdaad
even proberen zou ik zeggen
veel suc6
ik heb nu helaas geen tijd om het uit te testen
ik ga morgen op vakantie dus weer vroeg op XD

veel suc6 ermee!
 
@tiran: includen is geen goede optie, want dan include je ook de html/head/body-tags mee, wat je eigen pagina breekt

@gambia: dit soort includes staat bijna in geen enkel boek uitgelegd dat ik heb zien passeren, het gaat hier echt om een specifiek geval.
Code kopiëren gaat niet, omdat die rangschikking altijd verandert, dus aan de html-output heb je niet veel

@sennec: ik heb snel een voorbeeldje ineen gestoken, dat hier te zien is. Het belangrijkste stukje code is dit
PHP:
$bestand = file_get_contents('http://limburg.basketbalvlaanderen.org/klassement.asp?reeks=30101');
if ($bestand != FALSE) {
    //vind startstuk en neem alles erna
    $tabel = stristr($bestand, '<table');
    if ($tabel == FALSE) {
        echo '<code>Tabel niet gevonden</code>';
    } else {
        //haal laatste stuk eraf
        //werkt vanaf PHP5.3.0
        //$tabel = stristr($tabel, '</table>', true);
        
        //voor oudere versies, kan je dit gebruiken
        $pos = strripos($tabel, '</table>');
        if ($pos === FALSE) {
            $tabel = FALSE;
        } else {
            $tabel = substr($tabel, 0, $pos) . '</table>';
        }
        
        if ($tabel == FALSE) {
            echo '<code>Tabel onvolledig</code>';
        } else {
            echo $tabel;
        }
    }
} else {
    echo '<code>Klassement kon niet worden ingelezen.</code>';
}

Er is wellicht nog 1 ding dat moet aangepast worden, en dat zijn de links van de namen van de ploegen. Ik weet niet of je zelf pagina's per ploeg hebt/wil maken, of of deze links naar de originele pagina's moeten verwijzen?
In elk geval zal het gebruik van een vervangingsfunctie met reguliere expressies nodig zijn, zoals bvb preg_replace. Ik ben wel minder thuis in het opstellen van die regexp, maar wil gerust wel verder helpen als je laat weten wat er nodig is.
 
fel bedankt! ik ga het morgen eens uit proberen, maar het ziet er toch al goed uit! ik laat nog wel iets weten
 
Ohja.. nog even een bemerking:
Wat je nu doet is eigenlijk wel een vorm van 'stelen', vind ik. Je geeft namelijk iets weer wat je zelf niet de eigenaar van bent.
Als ik zoiets doe, mail ik meestal naar de mensen van de originele pagina, met de vraag of ze het ok vinden. Vaak is het voor hen voldoende als je een vermelding naar hun site opneemt.

In dit geval zou je bvb onder de tabel een link kunnen zetten naar hun site met als tekst 'bron' ofzo
 
Ja de link wordt sowieso ergens weergegeven, maar bijna elke limburgse ploeg gebruikt die cijfers dus dat zal geen probleem opleveren.

Ik bots wel nog op een probleem. alles werkt prima, waarvoor mijn dank, maar de gegevens in de tabel bevatten nog een link, en in plaats van die link te openen, gaat hij naar www.mijnwebsite.be/verderelink.

maar aangezien die dus niet op mijn website staat, gaat dat dus niet. is er ook een manier om dat op te lossen ?
 
Mijn voorbeeld is aangepast. Ik heb de regel waar de tabel werd weergegeven veranderd naar dit:
PHP:
 //de links aanpassen zodat ze naar 'http://limburg.basketbalvlaanderen.org/' gaan
$tabel = str_replace('kalploeg.asp', 'http://limburg.basketbalvlaanderen.org/kalploeg.asp', $tabel);
echo $tabel;

Dat zou die links moeten herstellen naar hun originele plaats.
 
dank u wel!

nog één vraag, is het mogelijk om die externe link te openen binnen mijn website en dat de kalender dan even verdwijnt ?
zoniet, is het dan mogelijk om de link op een externe pagina te openen ? (_blank)

Maar al bij al bent u fel bedankt om mij tot hier te helpen! dit was gewoon nog een bijkomende luxe
 
Beide opties zijn mogelijk:

1. binnen je eigen site
Ik denk dat we dan best een nieuwe pagina binnen je site aanmaken, die de correcte ploegenkalender ophaalt, net zoals dat nu voor het klassement gebeurd.

2. externe links van maken
dit is veruit het makkelijkst, maar spijtig genoeg niet meer volgens de laatste webstandaarden. in dat geval zul je een str_replace-commando moeten toevoegen net voor de echo van de tabel, zoals dit:
PHP:
$tabel = str_replace('<a', '<a target="_blank"', $tabel);
(dit is nog niet aangepast is mijn online voorbeeld..)
 
Ok het is gelukt! Ik zal het topic als opgelost bschouwen, u bent heel fel bedankt voor mij te helpen.
En die str_replace begint ook stilaan duidelijk te worden

Dank u
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan