iframe中的Javascript警告框

时间:2017-05-03 13:56:58

标签: javascript html alert

我是javascript的新手,我使用下面的代码输出一个警告框。我不确定为什么,但警报框似乎不能在函数内部工作,但会在它之外工作得非常愉快。如何从这个函数中显示它?

我觉得我还应该提到下面的代码正在iframe中执行。

任何帮助表示赞赏

$(window).on('beforeunload', function() {
    $(window).scrollTop(0);
});


function yourFunction(){

    alert("Alert");

    document.getElementById('iframeA').src = document.getElementById('iframeA').src

    setTimeout(yourFunction, 3000);

}      


function yourFunctionTwo(){

    document.getElementById('iframeB').src = document.getElementById('iframeB').src


    setTimeout(yourFunctionTwo, 4000);
}


yourFunction();
yourFunctionTwo();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
    
</head>

<iframe id="iframeA" src="" height="50%" width="100%"></iframe>
<iframe id="iframeB" src="/sms/frames/tickerB.php" height="50%" width="100%" style="display: block; position: absolute;"></iframe>
<iframe id="iframeA" src="/sms/frames/tickerA.php" height="50%" width="100%" style="display: block; position: absolute;"></iframe>



</html>

2 个答案:

答案 0 :(得分:0)

javascript中的警报应该在整个页面中使用,而不仅仅是在框架内。如果要在帧上使用警报,请改用模态。

答案 1 :(得分:0)

首先尝试打开你的javascript控制台进行调试。

取消注释此行时:

document.getElementById('iframeA').src = document.getElementById('iframeA').src

它会起作用。我在你的HTML中看到两次相同的id iframesA

尝试将alert()替换为console.log("iframesA");

您还可以在函数外部执行setInterval:

setInterval(yourFunction, 3000);

我制作了一个JSBin http://jsbin.com/rixigicugu/edit?html,js,output

注意:我认为这不是一个很好的方式来发布你的网页。 iframe在https或混合的http / https网站上会出现大问题......