关于jquery和iframe的一些更正?

关于jquery和iframe的一些更正?,jquery,iframe,greasemonkey,Jquery,Iframe,Greasemonkey,我创建了一个简单的greasemonkey脚本,它在页面上附加了一个新菜单,当单击它时,它将显示iframe,我想确保当我单击菜单时iframe已经完全加载,所以我创建了这个 $('<div id="googleBar"><iframe id="googleBarFrame" scrolling="no" frameborder="0" src="http://support.google.com/plus/bin/answer.py?hl=en&amp;answer=

我创建了一个简单的greasemonkey脚本,它在页面上附加了一个新菜单,当单击它时,它将显示iframe,我想确保当我单击菜单时iframe已经完全加载,所以我创建了这个

$('<div id="googleBar"><iframe id="googleBarFrame" scrolling="no" frameborder="0" src="http://support.google.com/plus/bin/answer.py?hl=en&amp;answer=1053549"></iframe></div>').insertBefore('#pagelet_welcome_box');

$('#googleBarFrame').load(function() 
{
    $('#pageNav').prepend('<li id="navShare" class="topNavLink middleLink"><a accesskey="1" >Google+ Share</a></li>');
});

//This not working
var toggle = false;
$('#navShare').click(function() {
    if (toggle) {
        $("#googleBar").animate({
        height: '30px',
        }, 500 );
    toggle = false;
    }
    else {
        $("#googleBar").animate({
        height: '250px',
        }, 500 );
    toggle = true;
    }
});
但这不起作用,这是我的工作脚本,但无法检测iframe已加载

$('#pageNav').prepend('<li id="navShare" class="topNavLink middleLink"><a accesskey="1" >Google+ Share</a></li>');

$('<div id="googleBar"><iframe id="googleBarFrame" scrolling="no" frameborder="0" src="http://support.google.com/plus/bin/answer.py"></iframe></div>').insertBefore('#pagelet_welcome_box');

var toggle = false;
$('#navShare').click(function() {
    if (toggle) {
        $("#googleBar").animate({
        height: '30px',
        }, 500 );
    toggle = false;
    }
    else {
        $("#googleBar").animate({
        height: '250px',
        }, 500 );
    toggle = true;
    }
});

嗯。。。greasemonkey中的事件处理并不容易。如果要将回调绑定到iframe的加载事件,应该尝试类似的方法

function callback() {
    $('#pageNav').prepend('<li id="navShare" class="topNavLink middleLink"><a accesskey="1" >Google+ Share</a></li>');
}
document.getElementById('googleBarFrame').addEventListener('load', callback, false);
我没有测试它,所以可能因为一些愚蠢的事情而无法工作,例如,我不确定在addEventListener中传递的事件名称是'load'还是'onload'


此方法addEventListener适用于我在greasemonkey中的click事件,因此它也可能适用于load事件。

感谢您的回答,我尝试了这两种方法….addEventListener'load',。。。和…添加了“onload”,。。。而且两个都不起作用。。。确保在DOM中创建googleBarFrame之后和加载之前调用addEventListener