Javascript 弹出窗口中的动态iframe
我试图通过下面的href链接实现两件事。首先,我想打开一个弹出窗口。完成。接下来,我希望弹出窗口显示一个iframe。这也很容易做到,直到我意识到我需要在iframe src中将href链接文本作为参数传递 例如,iframe不会加载到我的弹出窗口中,除非它的Javascript 弹出窗口中的动态iframe,javascript,Javascript,我试图通过下面的href链接实现两件事。首先,我想打开一个弹出窗口。完成。接下来,我希望弹出窗口显示一个iframe。这也很容易做到,直到我意识到我需要在iframe src中将href链接文本作为参数传递 例如,iframe不会加载到我的弹出窗口中,除非它的src=”http://localhost:8080/test/document.html?OnSale“ 我不明白为什么html页面主体中的文档。write无法打印出我试图使用href链接中的my foo()函数创建的动态iframe &
src=”http://localhost:8080/test/document.html?OnSale“
我不明白为什么html页面主体中的文档。write
无法打印出我试图使用href链接中的my foo()函数创建的动态iframe
<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<a href="#" onclick="popup('popUpDiv')">
<img align="right" src="http://localhost:8080/test/img/close_img.png">
</a>
<script type="text/javascript">
function foo(obj)
{
test1 = "http://localhost:8080/test/document.html?"+obj.text;
document.write('<iframe height="450" allowTransparency="true" frameborder="0" scrolling="yes" style="width:100%;" src="'+test1+'" type= "text/javascript"></iframe>');
}
</div>
<a href="#" onclick="popup('popUpDiv');foo(this);">OnSale</a>
函数foo(obj)
{
测试1=”http://localhost:8080/test/document.html?“+obj.text;
文件。写(“”);
}
编辑:
这是我的完整html页面。所有东西都在tomcat7上本地运行,包括win7和firefox
<html>
<head>
<script type="text/javascript" src="http://localhost:8080/test/css-popup/css-pop.js"></script>
<link href="http://localhost:8080/test/css-popup/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<a href="#" onclick="popup('popUpDiv')">
<img align="right" src="http://localhost:8080/test/css-popup/x.png">
</a>
<script type="text/javascript">
function foo(obj){
test1 = "http://localhost:8080/test/document.html?"+obj.innerHTML;
document.write('<iframe height="450" allowTransparency="true" frameborder="0" scrolling="yes" style="width:100%;" src="'+test1+'" type= "text/javascript"></iframe>');
}
</script>
</div>
<a href="#" onclick="popup('popUpDiv');foo(this);">OnSale</a>
</body>
</html>
函数foo(obj){
测试1=”http://localhost:8080/test/document.html?“+obj.innerHTML;
文件。写(“”);
}
文本
不是所有浏览器的标准,请尝试使用innerHTML
代替它
function foo(obj){
test1 = "http://localhost:8080/test/document.html?"+obj.innerHTML;
document.write('<iframe height="450" allowTransparency="true" frameborder="0" scrolling="yes" style="width:100%;" src="'+test1+'" type= "text/javascript"></iframe>');
}
函数foo(obj){
测试1=”http://localhost:8080/test/document.html?“+obj.innerHTML;
文件。写(“”);
}
在共享整个代码后更新,
据我所知,您希望打开一个弹出窗口,并在其中显示一个动态创建的iframe。但是document.write适用于当前窗口。因此,您必须首先处理弹出窗口。然后改变它的内容
试试这个
<html>
<head>
<script type="text/javascript" src="http://localhost:8080/test/css-popup/css-pop.js"></script>
<link href="http://localhost:8080/test/css-popup/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="blanket" style="display:none;"></div>
<div id="popUpDiv" style="display:none;">
<a href="#" onclick="popup('popUpDiv')">
<img align="right" src="http://localhost:8080/test/css-popup/x.png">
</a>
<script type="text/javascript">
var popUpWindow;
function popup(n) {
popUpWindow = window.open(n);
}
function foo(obj){
test1 = "http://localhost:8080/test/document.html?"+obj.innerHTML;
popUpWindow.document.write('<iframe height="450" allowTransparency="true" frameborder="0" scrolling="yes" style="width:100%;" src="'+test1+'" type= "text/javascript"></iframe>');
}
</script>
</div>
<a href="#" onclick="popup('popUpDiv');foo(this);">OnSale</a>
</body>
</html>
var popUpWindow;
功能弹出窗口(n){
popUpWindow=窗口打开(n);
}
函数foo(obj){
测试1=”http://localhost:8080/test/document.html?“+obj.innerHTML;
popUpWindow.document.write(“”);
}
而且我感谢您的帮助。innerHTML也没有做到这一点,但这很好地了解到文本不是标准文本,谢谢!这将完美地打开iframe,但它在firefox中作为一个新选项卡打开,而不是一个弹出窗口。是否有任何方法可以将窗口“打开”(n)作为弹出窗口而不是新选项卡?@Chris,是的,如果您为新窗口设置高度和重量属性,例如->
window.open(“,n,“高度=500,宽度=500”)