2016-11-23 93 views
2

查看下面的代碼片段。我希望iframe中的輸出文本顯示在#source div中。我很努力,並對任何想法表示感謝。如何將iframe中的輸出文本複製到div? (劇本寫道: 「能看到的文字!」 在DIV #show如果格#sourcediv包含 「文本」,否則 「不能見文!」。)記住如何將iframe內容複製到div?

<html> 
 
<body> 
 

 
<div id="source"></div> 
 
<div id="show"></div> 
 

 
<script> 
 
if (document.getElementById('source').innerHTML.indexOf("Text") != -1) 
 
{document.getElementById('show').innerHTML="Can see text!";} 
 
else{document.getElementById('show').innerHTML="Cannot see text!";} 
 
</script> 
 

 
<iframe id="iframe" src="http://majaulrika.esy.es/text.txt"> 
 

 
</body> 
 
</html>

+1

是iframe的域是一樣的您的網站?如果沒有,你可以改變iframe的網站內容嗎?答案不是,所以你不能。 –

+0

@Mosh Feu iframe的域名與我的網站相同。 – mud

+1

我建議不要使用iframe,這不再是1999年。現在,他們有一個有用的目的,即異步文件上傳。由於你標記的PHP,嘗試['file_get_contents()'](http://php.net/manual/en/function.file-get-contents.php) – Xorifelse

回答

0

牢記這您IFRAME是爲您的網頁同一個域

// Get your iframe element 

var iframe = document.getElementById('iframe'); 

// Access contents of it like this 

var iframeContent = iframe.contentWindow.document; 

// Get your div element 

var content = document.getElementById('source'); 

// set contents of this div to iframe's content 

content.innerHTML = iframeContent.innerHTML; 

取決於當你這樣做時,它也可能是值得等到了iframe負載:

iframe.onload = function() { /* put the above code here */ } 
+0

感謝您的輸入。不幸的是我沒有得到它的工作。我把正好在身體標籤上方。我究竟做錯了什麼?謝謝! – mud

0

進一步您comment

一個更好的解決方案,使內容從文件是使用AJAX。

下面是一個在jQuery中使用ajax的簡單方法。

$.ajax({ 
    url: 'http://output.jsbin.com/sebusu', 
    success: function(data) { 
    $('#source').html(data); 
    $('#show').text(function(){ 
     if (data.indexOf('Text') != -1) { 
     return 'Can see text!'; 
     } 
     else { 
     return "Can't see text!"; 
     } 
    }); 
    }, 
    error: function(){ 
    console.log(error); 
    } 
}); 
<div id="source"></div> 
<div id="show"></div> 
<script src="https://code.jquery.com/jquery-3.1.0.js"></script> 

Live Demo

再次,你只能爲你的網站AJAX調用(有一些exceptions

+0

你的代碼工作!但我的目標不是從iframe的源文件讀取,而是從iframe中的內容讀取。爲什麼我首先要問,將iframe內容複製到div的方式,是因爲我有一個

在iframe中發佈我想要的輸出,php文件提取所有包含我的搜索詞和輸出顯示在iframe中的行(我想從內容複製iframe一個div)。不要太困惑,我希望! 所以,我的問題仍然存在...(參見下面續續評論) – mud

+0

(續。評論:)基本上,我想要做的是搜索文本文件並獲取所有行包含搜索詞根據線(S)是什麼含有(S)我想不同的結果 例: 文本文件的內容: 「A1(在同一行) B1(另一條線) B2(另一行) 「 如果我搜索」A「,我想顯示一個文字說」你有1!「如果我搜索」B「,我想顯示一個文本字符串,說」嘿,你有1和2! 「 我非常感謝你的所有輸入!有任何想法嗎? – mud

+0

因此,不要在iframe中打開它,只需使用ajax調用'search.php',獲取數據並用此數據寫入一些HTML,或者您可以在服務器中創建HTML,並將ajax的回調函數寫入DOM 。精明? –