草庐IT

javascript - 如何在 PhantomJS 中捕获 window.open(url, _blank) 打开的新窗口?

我想用PhantomJS检查我的脚本是否在点击时正确打开一个新窗口/标签。打开由js事件监听器触发,通过window.open(url,"_blank")打开。如何使用PhantomJS监听新窗口? 最佳答案 似乎有三种方法可以做到这一点:onPageCreatedCasperJS通过使用page.onPageCreated解决了这个问题.因此,当在页面中调用window.open时,将创建一个新页面,并使用新创建的页面触发page.onPageCreated。page.open(address,function(status){i

javascript - window.onerror 不起作用

我在表单上有一些棘手的AJAX代码,有时它会失败(不要问为什么,我无法绕过它)。发生这种情况时,我需要捕获错误,重置隐藏字段指示器,并自然地提交表单,以免用户有不愉快的体验。我计划使用window.onerror来执行此操作,但它永远不会触发!我正在使用IE8,我只需要担心IE浏览器。让这个事件发挥作用有什么问题吗?这是我的代码...window.onerror=function(){alert("Error!");document.getElementById("hidAjax").value="0";document.forms[0].submit();}

javascript - 当通过 JavaScript 设置散列时阻止 window.onhashchange 执行

当用户更改页面的哈希时,我使用window.onhashchange函数执行代码:window.onhashchange=function(){/*dosomething*/};在某些函数中,我还通过JavaScript设置哈希值:window.location.hash="#abc";我想阻止onhashchange事件在我通过JavaScript设置哈希值时触发。到目前为止我尝试了什么:varcurrently_setting_hash=false;window.onhashchange=function(){if(currently_setting_hash)return;//.

javascript - 检测 window.console 存在的正确方法是什么?

我有这段代码:varhas_logger=(window.console&&window.console.log);if(has_logger){window.console.log(data);}has_logger,而不是一个bool值,实际上被初始化为一个函数对象(functionlog(){[nativecode]})我的问题:在现代浏览器中不需要测试console.log,对吗?将has_logger初始化为bool值而不是函数对象的正确方法是什么? 最佳答案 如果没有启用Firebug,如果不检查,Firefox会抛出错

javascript - window.clipboardData.getData ("Text") 在 chrome 中不起作用

我有这个javascript函数:functionmaxLengthPaste(field,maxChars){event.returnValue=false;if((field.value.length+window.clipboardData.getData("Text").length)>maxChars){field.value=field.value+window.clipboardData.getData("Text").substring(0,maxChars-field.value.length);returnfalse;}event.returnValue=true;

javascript - window.onresize 触发两次

我是js新手。请不要踢得很痛。我有这个代码window.onresize=function(){alert(1);};当我调整任何浏览器窗口的大小时,此函数会触发两次。为什么?以及如何重写该代码将触发一次的代码。提前致谢。 最佳答案 您需要超时来捆绑调整大小事件。varres;window.onresize=function(){if(res){clearTimeout(res)};res=setTimeout(function(){console.log("resizetriggered");},100);};liveExampl

javascript - 设置@grant值后如何访问 `window`(目标页面)对象?

假设我正在使用以下网页:clickmevarhello=function(){alert('hello');}document.getElementById('click').addEventListener('click',function(e){hello();});我的Greasemonkey脚本是://==UserScript==//@nameMyScript//@includehttp://example.com/hello.html//@version1//@grantnone//==/UserScript==window.hello=function(){alert('g

javascript - 如何使用 javascript window.open 隐藏地址栏?

这个问题在这里已经有了答案:Hidetheurlbaronapopupwindow[duplicate](6个答案)关闭3年前。我想使用javascriptwindow.open禁用地址栏。该脚本还应该在IE、Safari和chrome中工作。任何建议。

javascript - window.opener.location.href 适用于 IE 但不适用于 Chrome 或 Safari

我一直在研究这个问题,虽然在各种论坛上有很多关于类似问题的帖子,但没有一个问题或解决方案与我的完全匹配。我有一个应用程序已经成功地使用下面的函数在完成弹出窗口后重定向回父窗口。最近一直在研究与其他浏览器的兼容性(让系统可以通过iPad使用),发现在使用Safari或Chrome时这个功能有问题。父页面是一些数据库信息的汇总,用户点击一个链接打开一个窗口(通过window.open)查看更详细的数据。完成后,子窗口上会出现一个链接,用于刷新父窗口中的数据(部分是为了确保在返回父窗口时显示正确的数据)并关闭子窗口。Safari中的控制台报告“'window.opener.location.

javascript - 在 javascript 中,访问 'window.Math' 比访问没有 'Math' 的 'window.' 对象慢还是快?

我很好奇在javascript中引用“全局”命名空间时的最佳实践是什么,它只是window对象的快捷方式(反之亦然,具体取决于您的外观在它)。我想知道是否:varanswer=Math.floor(value);优于或低于:varanswer=window.Math.floor(value);在性能、资源使用或兼容性方面是更好还是更差?是否有更高的成本?(比如额外的指针之类的东西)编辑说明:虽然在大多数情况下我是一个可读性高于性能的纳粹分子,但在这种情况下,我忽略了可读性的差异,只关注性能。 最佳答案 首先,切勿出于性能原因比较此类