Inhoud IFrame kopieren

Status
Niet open voor verdere reacties.

haaswijk

Gebruiker
Lid geworden
23 mei 2006
Berichten
139
Hallo!

ik heb een iframe in m'n pagina waarvan ik de inhoud naar het clipboard wil kopieren dmv een knop. In mijn iframe wordt een *.txt bestand geladen. De tag ziet er zo uit:

<IFRAME WIDTH="400" HEIGHT="60" SRC="test.txt">
</IFRAME>

De bedoeling is dus eigenlijk de inhoud van het tekstbestand naar het clipboard te kopieren met een button. Het wil me maar niet lukken. Is dit eigenlijk wel mogelijk en zo ja, weet iemand hoe je dat voor elkaar krijgt? Alvast bedankt!
 
Thanks voor de links, ben alweer een stuk wijzer :)

Het is dus met HTML / Javascript helemaal niet mogelijk om content uit tekst bestanden (txt, rtf, etc.) te clipboarden?
 
uuuhm... Ja, dat kan zeker! (bedenk ik me nu)


Met het zogenaamde 'ajax' (javascript dus) kan je asynchroon een call maken. Hier staat een voorbeeld: www.vegras-studios.com/x/helpmij/ajax1/checkmij.html
Noot wel dat een RTF bestand niet-plain-text opmaak heeft en er dus een heleboel rommel tussen staat.


Hieronder het script (checkmij.html maar dan iets verbeterd/vervraaid, maar het gaat om het idee):
PHP:
//dit is een HTML bestand.

<html>
<head>
</head>
<body>
<script type="text/javascript">

var http = false;

	if(navigator.appName == "Microsoft Internet Explorer") {
		http = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		http = new XMLHttpRequest();
	} 

function replace(file) {
	http.open("GET", file, true);
	http.onreadystatechange=function() {
		if(http.readyState == 4) {
			alert('de contents van deze file zijn: ' + http.responseText);
 //hier dus ipv. je alert de naar-clipboard-code...
		}
	}
	http.send(null);
}


</script>

<p>

	<a href="#1" OnClick="replace('1.txt')">1.txt</a><br>
	<a href="#2" OnClick="replace('2.txt')">2.txt</a><br>
	<a href="#3" OnClick="replace('3.txt')">3.txt</a>
</p>

</body>
</html>




:thumb:
 
Laatst bewerkt:
Heey thanks, dat werkt goed en die alert geeft inderdaad de inhoud van het txt document weer. Maar hoe replace ik nou de alert voor een clipboard-code? In bovenstaande links stond dat je met Javascript dit kunt gebruiken:

function ClipBoard()
{
holdtext.innerText = copytext.innerText;
Copied = holdtext.createTextRange();
Copied.execCommand("RemoveFormat");
Copied.execCommand("Copy");
}

Maar hoe verwerkt je dat in de HTML bij jouw voorbeeld?
 
zoiets, denk ik

PHP:
//dit is een HTML bestand. 

<html> 
<head> 
</head> 
<body> 
<script type="text/javascript"> 

var http = false; 

    if(navigator.appName == "Microsoft Internet Explorer") { 
        http = new ActiveXObject("Microsoft.XMLHTTP"); 
    }else{ 
        http = new XMLHttpRequest(); 
    }  

function replace(file) { 
    http.open("GET", file, true); 
    http.onreadystatechange=function() { 
        if(http.readyState == 4) { 

            //dit's dus nieuw
           Copied = http.responseText .createTextRange();
           Copied.execCommand("RemoveFormat");
           Copied.execCommand("Copy");

        } 
    } 
    http.send(null); 
} 


</script> 

<p> 

    <a href="#1" OnClick="replace('1.txt')">1.txt</a><br> 
    <a href="#2" OnClick="replace('2.txt')">2.txt</a><br> 
    <a href="#3" OnClick="replace('3.txt')">3.txt</a> 
</p> 

</body> 
</html>
 
Ik heb het net geprobeerd, maar het werkt nog steeds niet. Ik heb het volgende gedaan om te testen:

- Code opgeslagen als HTML document in een lokale map op m'n pc
- In dezelfde map een txt document geplaats met de naam 1.txt met wat content erin
- Als ik klik op de link "1.txt" in de HTML geeft IE onderaan de melding: Fout op de pagina
:shocked:
 
Okay, ik heb wat. Het werkt wel alleen in IE maar daar zal weinig aan te doen zijn.

:thumb:


PHP:
//html file, haal deze regel weg

<html>  
<head>  
</head>  
<body>  
<script type="text/javascript">  

var http = false;  

    if(navigator.appName == "Microsoft Internet Explorer") {  
        http = new ActiveXObject("Microsoft.XMLHTTP");  
    }else{  
        http = new XMLHttpRequest();  
    }   

function replace(file) {  
    http.open("GET", file, true);  
    http.onreadystatechange=function() {  
        if(http.readyState == 4) {  

           var blaat = http.responseText;



           var Copied = blaat;

		clipboardData.setData("Text", Copied); 


        }  
    }  
    http.send(null);  
}  


</script>  

<p>  

    <a href="#1" OnClick="replace('1.txt')">1.txt</a><br>  

</p>  

</body>  
</html>
 
Laatst bewerkt:
Inderdaad! Dit script werkt perfect met txt files... THANKS!! :thumb::thumb:

Ik ga zo proberen om het te gebruiken icm een Iframe
 
JOEPIE! Het plaatsen van een iframe met deze functie is ook gelukt (zie bijlage)...
 

Bijlagen

ja, maar het kopieert nu niet direct uit de Iframe, maar uit het bestand... houdt dat wel in de gaten ;)


:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan