我是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>
答案 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网站上会出现大问题......