我的Javascript有什么问题如果...其他...功能?

时间:2012-09-28 21:53:15

标签: javascript iframe if-statement

我目前正在建立一个网站,作为我11年级媒体课程的一部分,但我似乎无法得到这个如果...其他...功能工作。这是我的编码。

if(ifr.contentDocument.getElementById("ctl00_ctl00_cphBanner_MenuRedesign_BannerAlertsAndOptionsLoginView_BannerAlertsAndOptions_Authenticated_MessagesTextWrapper") != null){
    notify("Personalising site...")
    document.getElementById("loginButton").innerHTML = "Account Connected!";
    document.getElementById("loginButton").onclick=function(){window.location.href="//roblox.com/--place?id=91276386";}
    notify("Account connected successfully");
    hideWheel();
}else{
    notify("Could not connect account");
    hideWheel();
};

我删除了“if(...){...} else {...};”从代码中发现它有效,所以我确定故障是在“if(...)”本身。

如果有帮助,ifr实际上是使用document.createElement(“iframe”)创建的; iFrame确实有一个“src”,并显示在显示内容的页面上。

感谢任何帮助。 感谢。

2 个答案:

答案 0 :(得分:1)

尝试使用:

ifr.contentWindow.document

您还可以参考:How can I access iframe elements with Javascript?

答案 1 :(得分:0)

试试这个:

var x = document.getElementById("ctl00_ctl00_cphBanner_MenuRedesign_BannerAlertsAndOptionsLoginView_BannerAlertsAndOptions_Authenticated_MessagesTextWrapper");
var y = (x.contentWindow || x.contentDocument);

if(y.document){

    notify("Personalising site...")
    document.getElementById("loginButton").innerHTML = "Account Connected!";
    document.getElementById("loginButton").onclick=function(){window.location.href="//roblox.com/--place?id=91276386";}
    notify("Account connected successfully");
    hideWheel();

}
else{

    notify("Could not connect account");
    hideWheel();

};

您尝试访问的iframe和您尝试在同一域上访问的网页是?如果它在另一个域上,则由于跨域阻止而无法访问它!

我也很惊讶这个长ID,这个ID是否正确?