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并包含该表的数据。