使用JS更改iframe内的文本

时间:2014-08-28 17:25:18

标签: javascript html iframe

我有一个HTML页面,它借助远程JS在iframe中加载一些内容。我想用其他东西替换文本“高级内容”。

我正在尝试的是:

<!DOCTYPE html>
<html>
<body>
<script type="text/javascript" src="http://gaand.comli.com/no.js"></script>

<img src="psss" onerror="myFunction()"></img>
<script>
function myFunction() {
    var x = document.getElementById("overlay_iframe");
    var y = x.contentDocument;
    y.document.body.innerHTML = y.document.body.innerHTML.replace('premium', 

'newtext'); 
}
</script>
</body>
</html>

一旦完全加载页面,有没有办法改变它?

4 个答案:

答案 0 :(得分:1)

您可以使用jquery在页面加载时获取事件,然后替换html内容。

$( document ).ready(function() {
   $( "#overlay_iframe" ).html( $( "#overlay_iframe" ).html().replace("premium","newtext"));
});

答案 1 :(得分:0)

除非您的服务器上有iFrame,否则您无法更改它。我建议使用PHP

file_get_contents()

并在字符串中替换它。

答案 2 :(得分:0)

您可以尝试使用jQuery .contents()返回iframes内容的对象,而不是操纵它。 jQuery .contents()

答案 3 :(得分:0)

修改,更新

尝试

$.getScript("http://gaand.comli.com/no.js")
.done(function(script) {
    s = setInterval(function() {
      $("iframe").contents()
      .find("body").text(function(_, o) {
         return o.replace("premium", "newText");
      }) && clearInterval(s);
    }, 10);
});

jsfiddle http://jsfiddle.net/guest271314/whjqqtco/