我使用下面的代码动态创建一个iframe。
var iframe_jquery = $("<iframe>")
.addClass("foo")
.appendTo(container); // container is a jQuery object containing a <div> which already exists
然后,我想访问它的contentWindow,但它是空的:
var iframe = iframe_jquery.get(0);
if (iframe){ // iFrame exists
当在页面上以通常的方式作为脚本运行时,这段代码会在jQuery被动态注入页面后打印它的版本。但是在我的chrome扩展中,当我在动态注入jQuery后尝试打印jQuery版本时,输出是undefined。
// create iframe
var frame = document.createElement("iframe");
// when frame loads
frame.addEventListener("load", function() {
// create script to dynamically inject into DOM
v
我有一个动态添加iFrames的页面。我想为每个iFrame捕捉"onLoad“事件。
因此,基本上,我希望将事件附加到主体,但使其应用于每个子iFrame。这适用于其他事件,但看起来"load“事件不会传播。
这是我到目前为止尝试过的:
$(document).on("load", "iframe", function() {
$("body").append("this is what I want, but it doesn't work!");
});
var iFrame = $("
我使用iframe动态地设置高度为jquery。它工作得很好,但问题是,如果用户clicks在链接上查看更多数据(低于DataList ),那么它可以将高度完美地设置为iframe,但它会滚动到顶部。我想把Scroll position保存在Click on LinkButton的时候。我用的是c# LinkButton,但这里不重要。整个页面都在iFrame中,所以我只是根据document高度设置iframe高度。因此,按照代码调用function on pageLoad() of jquery。
我的代码:
function adjustHeight() {
我使用jquery动态地创建iframes,iframe的高度太大了,我想将自动高度设置为这个iframe。当数据被加载时,iframe应该自动调整,我试图在单击事件中实现这一点。
注意:我是动态创建的,所以我的页面中有多个iframes。
$( ".deletephoto" ).live('click',function (event){
event.preventDefault();
if (confirm("Are you sure you want to delete this photo?")) {
var iframedi
我正在动态地将iframes加载到div中。这些iframes需要jQuery来实现它们的功能。为了避免将jQuery包含到每个iframe中,我只是在iframe生成器中引用了jQuery (相同的代码将位于每个加载的iframe的头上),如下所示:
var jQuery = window.parent.$; // The parent is the document that will house the iframes
var $ = jQuery;
这在Chrome中工作得很好,而且只加载jQuery一次就能显著提高性能。但是,Firefox和IE在抛出内存错误和删除脚本之前,都会像