我正在尝试为Opera 11构建一个简单的扩展程序,但我确信大多数开发人员遇到了这个问题。
如果您不知道,Opera中的扩展名只是另一个.html文件,如果您愿意,可以使用一些Javascript。
我遇到的问题是从CALLING网页获取HTML源代码并将其传递给popup.html。
因此,例如,我在我的博客上,我想传递该标记并将其作为“文档”变量。相反,'document'变量是空的,因为它使用的是popup.html的内容 - 而不是调用内容。
我怎样才能将主浏览器的HTML传递给popup.html?
以下是我的代码,您可以看到我正在尝试做的事情:
<script>
var imgs = document.getElementsByTagName('img')
var t = "";
for (var i=0, n=imgs.length;i<n;i++) t += '<br><a href="'+imgs[i].src+'"><img src="'+imgs[i].src+'" width="100"></a>';
document.write(t)
</script>
答案 0 :(得分:1)
嘿朋友,还有另一个解决方案。
当您使用open()方法打开一个窗口时,它将返回该窗口的上下文。
所以,如果你这样做:
var popup = window.open("http://something","blablabla");
然后,您可以使用变量“popup”访问该窗口的文档:
popup.document.write("Anything you wanna!");
我认为这可以解决您的问题,因为现在您可以在弹出窗口上用主窗口上的代码编写html。
答案 1 :(得分:0)
答案 2 :(得分:0)
这很简单。创建弹出窗口后,将引用保存到变量中,然后可以调用方法或查找并将数据传递给任何元素。
示例:
var popup = window.open("child.html");
popup.document.getElementById("id").value = "xxx";
我希望这会有所帮助