jQuery Force为iframe设置src属性

我有一个主页面(实际上是一个JSP),里面有一个iframe;

<iframe name="abc_frame" id="abc_frame" src="about:blank" frameborder="0" scrolling="no"></iframe> 

现在主页上有多个链接(通过JSPdynamic呈现),可以尝试将src设置为某个URL …

现在我的问题是,使用jQuery(可能是live()),我可以重写,这样的“src”属性abc_frame总是会有一些特定的值(例如“somefixedURL”)

我无法捕获链接点击,因为它是通过一些Java代码完全dynamic创build的,因此我试图覆盖iframe src?

使用attr

 $('#abc_frame').attr('src', url) 

这样你可以获取和设置每个HTML标签属性。 请注意,还有.prop() 。 请参阅.prop()与.attr()有关的差异。 短版本: .attr()用于属性,因为它们是用HTML源代码编写的,而.prop()用于附加到DOM元素的所有JavaScript。

如果您使用的是jQuery 1.6或更高版本,则需要使用.prop()而不是.attr():

 $('#abc_frame').prop('src', url) 

看到这个问题的解释的差异。

虽然生成链接将目标设置为iframes名称属性,你可能不会必须处理jQuery的。

 <a href="inventory.aspx" target="contentframe" title="Title Inventory"> <iframe id="iframe1" name="contentframe" ></iframe> 
 $(document).ready(function() { $('#abc_frame').attr('src',url); }) 
 <script type="text/javascript"> document.write( "<iframe id='myframe' src='http://www.example.com/" + window.location.search + "' height='100' width='100%' >" ) </script> 

此代码从包含iframe的页面获取url参数(?a = 1&b = 2),并将它们附加到iframe的基本URL。 它适用于我的目的。

设置src属性对我不起作用。 iframe没有显示url。

对我有效的是:

 window.open(url, "nameof_iframe"); 

希望它可以帮助别人。

你不能设置FIX iframe的src或者阻止javascript / form提交来改变它的位置。 但是,您可以将脚本加载到页面并更改每个dynamic链接的操作。

 $(".excel").click(function () { var t = $(this).closest(".tblGrid").attr("id"); window.frames["Iframe" + t].document.location.href = pagename + "?tbl=" + t; }); 

这是我使用,没有jquery需要这个。 在这个特殊的情况下,我有一个excel导出图标,这将强制附加到该表的iframe加载页面查找的查询string中的variables的同一页面,如果find响应写出一个streamexcel mimetype并包含该表的数据。