我有一个非常独特/奇怪的情况。在我的项目中,在我的主模板上,我在页面底部有以下情况....
...
<body>
<div>blah...blah</div>
/*FOR CURTAIN REASONS, I CAN'T TOUCH THIS SCRIPT*/
<script type="text/javascript">
var ccPopup = window.open('http://www.google.com','_blank');
if (!ccPopup) alert('Your browser has popup blocker enabled. Please disable it and try again');
var _fV4UI = true;
</script>
/**/
/*BUT I CAN CONTROL ALL THINGS BELOW...*/
<script type="text/javascript" src="jquery_1.8.3.min.js"></script>
<script type="text/javascript" src="my-javascript-file.js"></script>
/**/
</body>
..
我基本上想阻止(!ccPopup)执行每次页面加载时发生的警报消息。如何防止在my-javascript-file.js中发生此警报操作?如果我不能在那里做,我还可以灵活地在我的页面的<head>
中添加javascript,如果需要的话......
感谢您的任何建议!
答案 0 :(得分:2)
如果您在网页上没有任何其他提醒,那么您可能会做出类似的事情。
window.alert = function() {
return false;
}
不漂亮,但它可能有用。
答案 1 :(得分:1)
这绝对是一个丑陋的黑客,但您可以重新定义window.open()
:
window.open = function() { return true; };
后:
var ccPopup = window.open('http://www.google.com','_blank');
if (!ccPopup)
alert('...');
第一行应该在head
之前,在另一个代码段之前。
答案 2 :(得分:1)
在头脑中,你必须劫持警报功能:
showAlert = false;
myAlert = window.alert;
window.alert = function(msg) {
if (showAlert) {
myAlert(msg);
}
}
然后,您可以通过更改showAlert;
的值来切换是否显示警报showAlert = true; alert("hi"); //alerts "hi"
showAlert = false; alert("hi"); //nothing happens.
您还可以执行以下操作:
window.alert = function(msg) {
if (msg != "Your browser has popup blocker enabled. Please disable it and try again") {
myAlert(msg);
}
}