Javascript location.replace和iframe

时间:2013-03-04 10:06:52

标签: javascript

以下程序可以在chrome中工作,但是在firefox中无法正常工作,我需要刷新页面,否则页面会空白!

firefox会跳出商店橱窗使用iframe无法正常工作,有办法吗?

谢谢大家!

var url = "/card/"+dl_path;
SaveFrame.document.location.replace(url);

<iframe id="SaveFrame" style="display: none"></iframe>

4 个答案:

答案 0 :(得分:1)

如果您使用jQuery,则可以使用$('#saveFrame').attr('src', url)之类的内容。它适用于所有浏览器。

答案 1 :(得分:1)

尝试

document.getElementById('SaveFrame').src="http://google.com/";

答案 2 :(得分:0)

通过在全局范围内隐含创建的变量寻址元素是一种专有的“Internet Explorer”方式,最有可能在其他浏览器中不起作用(尽管Chrome由于兼容性原因支持这种方式)。您应该始终通过Dom选择方法通过以下方式寻址元素:

document.querySelector(id)
// or
document.getElementById(id)

对于你的情况:

document.getElementId('SaveFrame').contentDocument.location.replace(url);
// or
document.getElementId('SaveFrame').src= url;

答案 3 :(得分:0)

这应该可以正常运行,并且网页的加载速度很快 它对我有用......

onmouseover="window.open ('http://www.yourpage.com','YourTargetName'); this.onmouseover=null;"


代码“this.onmouseover = null;”意味着它只应在加载时执行ONCE并且不在第二个鼠标上重复该属性,如果您希望它在第二个鼠标上重复该属性,则删除“this.onmouseover = null;”从代码开始,每次鼠标结束时都加载它:

onmouseover="window.open ('http://www.yourpage.com','YourTargetName');"


实施例:

<a href="#" onmouseover="window.open ('http://www.yourpage.com','YourTargetName');">
My Link</a>



或试试这个:

OnClick="window.open ('http://www.yourpage.com','YourTargetName');"

实施例

<a href="#" OnClick="window.open ('http://www.yourpage.com','YourTargetName');">
My Link</a>

<a href="javascript:window.open ('http://www.yourpage.com','YourTargetName');">
My Link</a>

如果您希望在加载页面或框架时使用window.location.replace不更新历史记录,请使用如下所示的链接:

<a href="#" onclick="YourTargetName.location.replace ('http://www.YourPage.com');">
The targeted Link</a>

<a href="javascript:YourTargetName.location.replace ('http://www.YourPage.com');">
The targeted Link</a>


信息: 对于此脚本,所有onclickonmouseoveronmouseoutonloadhref="javascript:"都将工作



注意:请注意,iframe必须具有name =“YourTargetName”,例如看起来像这样:

<iframe id="SaveFrame" style="display: none" name="YourTargetName"></iframe>


信息: window.openwindow.location.replaceYourTargetName.location.replace之间的区别在于:
  - window.open加载浏览器历史记录   - window.location.replaceYourTargetName.location.replace未加载历史记录。