草庐IT

new_location

全部标签

javascript - 使用 jest.js 拦截导航更改(或如何覆盖和恢复 location.href)

应用程序代码正在调用location.href="some-url"。我想编写一个测试来验证导航重定向是否发生。在jsdom上使用jest,我尝试使用jest模拟函数覆盖location.hrefsetter来做到这一点,它正在工作。但现在我似乎无法在测试清理中恢复location.href属性,并且它无法通过依赖“location.href”的其余测试。it('testnavigationhappened',()=>{constoriginalLocationHref=Object.getOwnPropertyDescriptor(window.location,'href');//

javascript - 如何从 Javascript 中用 new 调用的构造函数返回 null?

我试图让构造函数在出现问题时中止对象构造,例如它无法获得Canvas。但是当我使用new时,我看到klass()总是返回this而不管任何返回null或任何其他值,我可以解决这个问题以返回无效?现在我想到,一个解决方案可能是在klass()中创建新实例并返回该实例或null,而不是使用new,有没有更好的解决方案?functionklass(canvas_id){varcanvas=document.getElementById(canvas_id);if(!(canvas&&canvas.getContext)){returnnull;}}varinstance=newklass('

javascript - 使用 window.location.href 或 .assign 或 .reload 时等待时间很长

我在ajax调用后(更新内容后)使用JavaScript重定向。我试过下面的方法,都很慢。在网络选项卡中,它显示等待时间约为4.44到5秒。(这让客户非常沮丧:()window.location.assign(to_redirect);window.location.replace(to_redirect);location.href=to_redirect;window.location.href=to_redirect;window.location=to_redirect;从一个页面浏览到另一个页面(点击鼠标)时,等待时间为350毫秒到450毫秒。为什么会这样?有什么我错过的或任

javascript - window.location 重定向有效,但原始 URL 未显示在浏览器历史记录中

下面的代码运行良好。这是我的问题:窗口url重定向,但原始url未记录在我的浏览器历史记录中。例如,如果我访问“http://example.com/page1”,浏览器会重定向到“http://example.com/test”,这是应该的。但是,我需要访问过的原始url(“http://example.com/page1”)显示在我的浏览器历史记录中,以便我可以在不同的函数中调用它。有没有办法在重定向之前获取访问的原始url以登录我的浏览器历史记录?$(document).ready(function(){if(window.location=="http://example.co

javascript - 为什么 location.reload() 比其他页面重新加载方法慢?

几个月前我发布了thisanswer关于如何通过JavaScript刷新页面。我提供了一个JSFIDDLEDEMO也是:varsolutions=[function(){location.reload();},function(){history.go(0);},function(){location.href=location.href;},function(){location.href=location.pathname;},function(){location.replace(location.pathname);},function(){location.reload(fa

javascript - 评估 JSON 字符串 - eval() 与 new Function()

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:jQueryuses(newFunction(“return”+data))();insteadofeval(data);toparseJSON,why?给定一个字符串表示一个有效的JSON字符串,这两种解析方法之间是否存在差异:varstr,obj;str='{"prop":"value"}';//method1:obj=eval('('+str+')');//method2:obj=(newFunction('return('+str+');'))();我注意到jQuery使用第二种方法来解析JSON字符

javascript - ACE 编辑器 : create a new editor dynamically

我有一个布局选项卡,我可以在其中添加和删除选项卡,当我创建一个新选项卡时,我想向它添加一个新的ACE编辑器(http://ace.ajax.org/)(i'm使用jqueryui选项卡)但是这样不起作用:$(function(){var$tab_title_input=$("#tab_title"),$tab_content_input=$("#tab_content");vartab_counter=3;//tabsinitwithacustomtabtemplateandan"add"callbackfillinginthecontentvar$tabs=$("#tabs").ta

javascript - 在没有旧的 'new Array(N)' 的情况下创建具有 N 个元素的数组的正确方法?

每当我使用数组时,我总是使用[]样式,但是,当我想创建一个包含固定数量元素的数组时,我使用newArray(N)(我不知道这样做的任何其他方式)我认为这没什么大不了的,直到我读到这些关于这件事的强硬言论:Anyonedoingthis,using“newArray()”insteadof“[]“,or“newObject()”insteadof“{}”needstorelearnJavaScript.我真的很想避免编写糟糕的代码。有人介意告诉我正确的前进方向吗? 最佳答案 我不会太担心2006年博客上的一些随机评论。特别是因为您的用

javascript - 如何防止 window.location.pathname 转义 URL 中的字符

我正在开发一个谷歌应用引擎应用程序。单击按钮时,我试图将用户重定向到登录页面。为此,我将window.location.pathname设置为以下字符串/_ah/login?continue=http%3A//localhost%3A8080/。但是,chrome对该字符串进行了转义,以便完整的URL变为http://localhost:8080/_ah/login%3Fcontinue=http%3A//localhost%3A8080/,这会产生404错误。我怎样才能防止这种情况发生?有效的URL是http://localhost:8080/_ah/login?continue=h

javascript - 在 PhoneGap 中调用 window.location.href 触发网络浏览器

你好我正在尝试使用PhoneGap为iPad开发应用程序。我想在index.html页面内动态加载外部网站的主页。不幸的是使用window.location.href="http://mywebsite.com/cgi-bin/index.py"触发Safari窗口的打开而不是使用PhoneGap容器。有什么建议吗?非常感谢子句 最佳答案 还有一个更简单的选择:修改config.xmlOpenalllinksinWebViewstay-in-webviewwithvaluestrueorfalseexample:ifsettotru