草庐IT

javascript - Safari 忽略 window.matchMedia

我有条件地使用window.matchMedia以避免在移动设备中注入(inject)视频。CanIUse报告说matchMedia自Safari9以来将顺利运行(我正在对其进行测试),但我的代码完全被忽略了:if(window.matchMedia("(min-width:1025px").matches){console.log('match');document.addEventListener("DOMContentLoaded",function(){initialiseMediaPlayer();},false);functioninitialiseMediaPlayer(

javascript - IE7 中的 window.location.hash 问题

我们有一个javascript函数,可以使用anchor将页面“移动”到特定位置。此函数只是执行window.location.href="#"+hashName。这适用于FF,但不适用于IE。我在WindowsXP下使用IE7测试了这段代码。我已经尝试过usingwindow.location.href、window.location.hash、window.location.replace和所有这些方法,但使用文档对象。有谁知道如何处理这个问题? 最佳答案 IE和大多数其他浏览器将使用anchor.focus()滚动到一个anc

javascript - 我可以使用 ID 作为变量名吗?

我发现设置一个与元素id同名的变量很方便,例如:randomDiv=document.getElementById("randomDiv");randomDiv.onclick=function(){/*Whatever;*/}randomDiv.property="value";这适用于Chrome和Firefox,但不适用于IE8;给出错误对象不支持此属性或方法。创建名称与元素ID相匹配的变量是错误的(或不良做法)还是InternetExplorer的另一个实例在起作用? 最佳答案 自动创建全局变量被认为是不好的做法,因为查看某

javascript - requestAnimationFrame 范围更改为 window

我有一个看起来像这样的对象链:Game.world.update()我想使用requestAnimationFrame来确定此函数的帧率。但是当我这样实现时:World.prototype.update=function(){requestAnimationFrame(this.update);}范围从世界对象变为窗口对象。如何在调用requestAnimationFrame()时保持我想要的范围?我知道它与匿名函数等有关,但我无法理解它。 最佳答案 常规方法,无处不在:World.prototype.update=function

javascript "this"再次指向 Window 对象

我在JavascriptthispointstoWindowobject上问了一个问题关于“this”指向Window对象。这里是源代码vararchive=function(){}archive.prototype.action={test:function(callback){callback();},test2:function(){console.log(this);}}varoArchive=newarchive();oArchive.action.test(oArchive.action.test2);TimDown写道“但是该函数随后使用callback()调用,这意味着

javascript - 将函数附加到 DOMWindow 对象

我为获取浏览器位置做了这个漂亮的小片段:if(!window.position){window.position=function(){returnnavigator.appName.toLowerCase().indexOf("explorer")>=0?{x:window.screenLeft,y:window.screenTop}:{x:window.screenX,y:window.screenY};};};它工作得很好,我想知道的是,任何人都知道(我似乎无法找到/记住它是否存在)是否有类似“_prototype”的东西,以便我可以永久附加该功能。如果我有类似的东西,这将很有用

javascript - 如何在JavaScript中改变window.location.href然后执行更多的JS?

我有代码片段,它是在点击如下链接时执行的cj_redirecturl="/HomeWork/main/load_course";utility.xhttprw.data(cj_redirecturl,{data:courseid},function(response){if(response){window.location.href=base_url+"main";///nextutility.xhttprw.data(redirecturl,{data:""},function(response){if(response){id=ent;document.getElementByI

javascript - 具有命名函数的 window.removeEventListener 不起作用

我正在使用React,下面是我用来实现无限滚动功能的代码。componentDidMount(){//Flagtocheckifthecontenthasloaded.letflag=true;functioninfiniteScroll(){letenterpriseWrap=$('.enterprise-blocks');letcontentHeight=enterpriseWrap.offsetHeight;letyOffset=window.pageYOffset;lety=yOffset+window.innerHeight;console.log('hey');if(thi

javascript - window.toString.call 在 IE8 中未定义

当你运行时:window.toString.call("")在FF/CH中一切正常,但在IE8中出现脚本错误。进一步调查发现,window.toString.call在IE8中未定义?你也可以运行这个:window.toStringinstanceofFunction;//falsealert(window.toString);//functiontoString(){//[nativecode]//}这是为什么以及如何解决它?我开始想知道jQuery最初是如何工作的? 最佳答案 window是一个宿主对象,ECMAScriptLa

javascript - 检查页面是否在 Google Chrome 的 Iframe 中

我试过window的很多属性,看看iframe中的页面是否可以判断它是否在iframe中。我试过:if(top.location!=self.location)//doesn'tworkinGoogleChromealert("Iaminaniframe!")这不起作用(适用于除Chrome之外的所有浏览器)。我正在为Firefox和Chrome编写用户脚本,但Chrome确实不正常。有没有办法判断Chrome是否可以检测其页面是否在iframe中? 最佳答案 这适用于框架,我认为它也适用于iFrameif(top===self){