我有一个主页面(实际上是一个JSP),里面有一个iframe作为;
<iframe name="abc_frame" id="abc_frame" src="about:blank" frameborder="0" scrolling="no"></iframe>
现在主页上有多个链接(通过JSP动态呈现),可以尝试将src设置为某个URL ...
现在我的问题是,使用jQuery(可能是live()),我可以覆盖它,使得abc_frame的“src”属性总是有一些特定的值(例如“somefixedURL”)
我无法捕获链接点击,因为它是通过一些Java代码完全动态创建的,因此我试图覆盖iframe src?
答案 0 :(得分:146)
使用attr
$('#abc_frame').attr('src', url)
这样您就可以获取并设置每个HTML标记属性。请注意,还有.prop()
。有关差异,请参阅.prop() vs .attr()。简短版本:.attr()
用于属性,因为它们是用HTML源代码编写的,.prop()
用于连接到DOM元素的所有JavaScript。
答案 1 :(得分:17)
如果您使用的是jQuery 1.6及更高版本,则需要使用.prop()而不是.attr():
$('#abc_frame').prop('src', url)
有关差异的解释,请参阅this question。
答案 2 :(得分:8)
生成链接时,将目标设置为iframes name属性,您可能根本不需要处理jquery。
<a href="inventory.aspx" target="contentframe" title="Title Inventory">
<iframe id="iframe1" name="contentframe" ></iframe>
答案 3 :(得分:6)
$(document).ready(function() {
$('#abc_frame').attr('src',url);
})
答案 4 :(得分:4)
设置src属性对我不起作用。 iframe没有显示网址。
对我有用的是:
window.open(url, "nameof_iframe");
希望它有所帮助。
答案 5 :(得分:4)
<script type="text/javascript">
document.write(
"<iframe id='myframe' src='http://www.example.com/" +
window.location.search + "' height='100' width='100%' >"
)
</script>
此代码从包含iframe的页面获取url-parameters(?a = 1&amp; b = 2),并将它们附加到iframe的基本网址。它适用于我的目的。
答案 6 :(得分:1)
您无法设置FIX iframe的src或阻止javascript / form提交更改其位置。但是,您可以将脚本放到页面的 onload 并更改每个动态链接的操作。
答案 7 :(得分:1)
$(".excel").click(function () {
var t = $(this).closest(".tblGrid").attr("id");
window.frames["Iframe" + t].document.location.href = pagename + "?tbl=" + t;
});
这是我使用的,不需要jquery。在这个具有excel导出图标的每个表的特定场景中,这会强制附加到该表的iframe加载与页面查找的查询字符串中的变量相同的页面,如果找到响应则写入带有excel mimetype并包含该表的数据。