我有一个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>
一旦完全加载页面,有没有办法改变它?
答案 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);
});