是否可以加载外部网页,如“http://www.google.com” ' 然后将我自己的 HTML/JS 代码附加到它的末尾(例如运行一个函数)??肯定有一种方法可以加载外部页面,然后在它之后添加一些我自己的代码吗?像这样:
<html>
<script>
document.location.href="http://www.google.com/"; //Load external page
function myscript() {
...blahblah
}
</script>
<button onclick="myscript();">Click me</button>
</html>
我希望该按钮位于外部页面的底部。请不要在 php 中建议解析方法。我已经尝试通过首先在 php 中解析页面然后将我自己的脚本附加到它并像我在这里描述的那样回显来做到这一点: Append HTML to page after redirect
这适用于没有重定向或最终外部页面可以正确解析的简单页面。问题是我无法正确解析外部页面。如果没有前几页的代码(在重定向之前),被解析的代码似乎无法运行。我需要在不进行解析/抓取/抓取的情况下执行此操作。
谢谢!
编辑:我试过按照 Amadan 的建议在 iframe 中显示外部页面:
<script>
function myscript() {
...blahblah
}
</script>
<iframe src="http://www.google.com/"></iframe>
<button onclick="myscript();">Click me</button>
</html>
但是,在 Firefox 中它只是显示一个空白框,但在 IE 中它显示“此内容无法在框架中显示:为了帮助保护您输入此网站的信息的安全,此内容的发布者不允许它显示在框架中。”
有什么办法可以解决这个问题?
编辑 2:
我在这里包含了 jquery 和跨域脚本 ( https://github.com/padolsey/jquery.fn/blob/master/cross-domain-ajax/jquery.xdomainajax.js )。这是我现在用来使用 ajax 获取内容的代码。我将如何从那里转到实际显示网页中的内容?抱歉,我对 ajax/jquery 真的很糟糕!
function test () {
$.ajax({
url: 'http://www.google.com/',
type: 'GET',
success: function(res) {
var content = $(res.responseText).text();
alert(content);
}
});
}
最佳答案
您不能将任何内容附加到您无法控制的页面,除非安装浏览器扩展程序(这仅适用于安装了您的扩展程序的客户端)。
您可以将不受您控制的页面内容包含在您自己的页面中(主要有两种方式:客户端 iframe
和服务器端拉取) ,但你似乎在说这不是你想要的。
关于javascript - 加载后向外部网页添加 HTML/JS 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20461720/