login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[opgelost] code uit iframe halen

Offline svm - 27/01/2007 17:31 (laatste wijziging 27/01/2007 21:47)
Avatar van svmPHP ver gevorderde Beste mensen,

Ik heb een iframe.
Hierin wordt een pagina geinclude, die ik even pagina.php noem.
Deze wordt gewijzigd in dat iframe (wysiwyg) en als ik dan wil ik dat de code weergeven wordt als ik op een knop druk.
Deze code moet opgeslagen worden in een PHP variable.

Hoe doe ik dit?

Groeten,
svm

26 antwoorden

Gesponsorde links
Offline Warbringer - 27/01/2007 17:42
Avatar van Warbringer Onbekend redirecten naar de zelfde link alleen voor firefox gebruikers view-source: voor de url (b.v. view-source:www.mijnsite.nl) voor internet explorer werkt dat helaas niet meer, misschien dat er een alternatief voor is? dan zou ik hem ook graag weten dat is altijd handig 
Offline svm - 27/01/2007 17:51
Avatar van svm PHP ver gevorderde lukt niet.
Want dan heb ik de code van de pagina, maar zoals ik al zei wordt de code bewerkt door de wysiwyg editor.
Maar hoe kom ik aan die code?
Offline jelle - 27/01/2007 17:59
Avatar van jelle PHP beginner mischien met javascript kun je de code tonen document.source of zoiets ik weet nie of het werkt hoor
Offline svm - 27/01/2007 18:29
Avatar van svm PHP ver gevorderde Oke, ik heb het voor elkaar gekregen de nieuwe code in een JS variable te zetten:
  1. var htmlCode = iframe.document.body.innerHTML;

Maar nu moet ik hem nog in een PHP variable krijgen.

Hoe doe ik dat?
Offline Ibrahim - 27/01/2007 18:39
Avatar van Ibrahim PHP expert misschien een gek idee en ik weet niet of het wel werkt, maar probeer dit eens:

maak een form (verbergen, weergeven wat jij wilt)
als iemand op save of zoiets klikt in de iframe, moet je via JS alle data toevoegen in de textarea van je form.
En via AJAX verstuur je die form, zodat je in een andere pagina $_POST data in een var kunt stoppen.

Misschien dat er een makkelijker manier is, of dat dit niet eens werkt
Maar probeer mijn manier maar, als je wilt natuurlijk 
Offline svm - 27/01/2007 18:41
Avatar van svm PHP ver gevorderde hoe wil je dat ik die textarea niet laat zien?
Offline ikki007 - 27/01/2007 18:52
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
http://www.site...amp;id=200

Misschien helpt dit  
Offline svm - 27/01/2007 19:04
Avatar van svm PHP ver gevorderde letterlijk geciteerd:
lukt niet.
Want dan heb ik de code van de pagina, maar zoals ik al zei wordt de code bewerkt door de wysiwyg editor.

Maar de code uit het iframe heb ik al in js
Offline jelle - 27/01/2007 19:31 (laatste wijziging 27/01/2007 19:39)
Avatar van jelle PHP beginner mischien kun je dit proberen
<?
$htmlcode = "?><script language="javascript">iframe.document.body.innerHTML;
</script>
<? "
?>
<?
rest van je code
?>

zoiets denk ik mischien??
Offline Ibrahim - 27/01/2007 19:40
Avatar van Ibrahim PHP expert jelle, dat gaat zeker niet werken want ?> zijn gewone tekens als ze binnen quotes zitten
  1. <div style="display: none;">
  2. formulier
  3. </div>


om het te verbergen
Offline jelle - 27/01/2007 19:50
Avatar van jelle PHP beginner mischien als je ze weglaat ben nog niet helemaal goed in php  soort van begineling 
Offline Grayen - 27/01/2007 19:59
Avatar van Grayen PHP ver gevorderde @jelle
Je gaf een verkeerd voorbeeld, maar jouw idee is wel de makkelijkste methode om wat svm vraagt toe doen. Doe het als volgt:

  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new']))
  3. {
  4. $htmlCode = '<script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>';
  5. // Verdere verwerking van formulier.
  6. }
  7. ?>
  8. <!-- Het formulier -->
  9. <form method="post" action="">
  10. <iframe id="iframe"></iframe>
  11. <input type="submit" name="add" value="Voeg toe" />
  12. </form>
Offline svm - 27/01/2007 20:04 (laatste wijziging 27/01/2007 20:04)
Avatar van svm PHP ver gevorderde grayen, zo zal het js-code in die variable opgeslagen worden.
En dus niet de uitwerking van die code.

Of zeg ik het nu fout?
Offline Grayen - 27/01/2007 20:09 (laatste wijziging 27/01/2007 20:10)
Avatar van Grayen PHP ver gevorderde ja dat zeg je heel fout , ik heb je een tijd terug hier zelfs nog een emailtje over gestuurd, omdat jij ooit een vroeg naar hoe je de resolutie van iemands beeldscherm kon weten en die in een php variable stoppen namelijk als volgt:

  1. <?php
  2. $sResolution = '<script type="text/javascript">document.write(screen.width + " x " + screen.height);</script>';
  3. ?>


Ik dacht ook altijd dat hij dan de js code zou plaatsen, maar het werkt blijkbaar .

Nou weet ik nog niet zeker of het wat ik bij vorige post heb gepost werkte, omdat ik het niet heb getest, maar ik denk van wel 

Ik zal het ff testen, want ik wil zelf ook dit jouw wysiwyg editor gebruiken 
Offline svm - 27/01/2007 20:16
Avatar van svm PHP ver gevorderde oke, dan weet ik dat ook weer.
het kan zijn dat het heb in de quotes zit (' en ").

Ik zal eens testen...
Offline Grayen - 27/01/2007 20:26 (laatste wijziging 27/01/2007 20:28)
Avatar van Grayen PHP ver gevorderde
  1. document.write(iframe.document.body.innerHTML);


Waarin heb je dat getest? Want het werkt niet in FireFox , of ik moet wat fout doen .

Edit:
Dat script werkt alleen in Internet Explorer .
Offline svm - 27/01/2007 20:30 (laatste wijziging 27/01/2007 20:31)
Avatar van svm PHP ver gevorderde Niet in ff nee
In ff moet het zijn:
  1. document.getElementById("iframe").contentWindow.document.body.innerHTML;

Of:
  1. document.getElementById("iframe").body.innerHTML;
Offline Grayen - 27/01/2007 20:33 (laatste wijziging 27/01/2007 20:33)
Avatar van Grayen PHP ver gevorderde klopt kwam er net achter, dus pas ik het zo toe:

  1. if(window.navigator.appName == 'Microsoft Internet Explorer') document.write(iframe.document.body.innerHTML);
  2. else if(window.navigator.appName == 'Netscape') document.write(document.getElementById('iframe').contentDocument.body.innerHTML);
Offline svm - 27/01/2007 20:39
Avatar van svm PHP ver gevorderde Ja, maar we gaan nu offtopic hè.
Ik krijg als ik JS in een php var opsla gewoon de JS code en niet de uitwerking.
Offline jelle - 27/01/2007 20:45 (laatste wijziging 27/01/2007 20:46)
Avatar van jelle PHP beginner haal de ' ' is weg bij de javascript

mischien werkt het
Offline svm - 27/01/2007 20:49
Avatar van svm PHP ver gevorderde Ik snap je niet.
Kun je een voorbeeld geven?
Offline Grayen - 27/01/2007 20:58
Avatar van Grayen PHP ver gevorderde sorry sorry sorry ik zat idd helemaal fout, maar het is me wel gelukt, ik zal het ff netjes maken en posten . Ik heb ervoor gezorgd dat het in een formulier kwam en toen gesubmit.
Offline jelle - 27/01/2007 20:59 (laatste wijziging 27/01/2007 21:00)
Avatar van jelle PHP beginner <?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new']))
{
$htmlCode = <script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>;
// Verdere verwerking van formulier.
}
?>

of

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new']))
{
$htmlCode = ?><script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>;<?
// Verdere verwerking van formulier.
}
?>

heb de ' '
weg gehaalt
ben begineling dus weet nie of werkt
Offline svm - 27/01/2007 21:05
Avatar van svm PHP ver gevorderde nee, zal beide errors weergeven, jelle.

@grayen oke:D
Offline Grayen - 27/01/2007 21:06
Avatar van Grayen PHP ver gevorderde hier is een live voorbeeld:
http://grayen.gr.funpic.de/editor.php

en hier is de code:
http://www.plaatscode.be/3983/
Offline svm - 27/01/2007 21:08 (laatste wijziging 27/01/2007 21:46)
Avatar van svm PHP ver gevorderde fout op de pagina 

Oke, ik snap het.
Bedankt allemaal en ik vermeld jou, grayen, dadelijk in mijn tut .

Slotje, aub!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.269s