草庐IT

javascript - 在 iframe 中捕获所有 keyup/keydown 事件?

我正在开发基于Canvas的游戏,并使用window.addEventListener()全局附加keyup和keydown事件。这在正常查看页面时有效,但在将其作为iframe嵌入时有效;它没有获取keyup和keydown事件。有没有更好的方法可以做到这一点? 最佳答案 你不能,除非框架有焦点。你可以做的是在外部窗口上按下键使iframe聚焦,或者总是以某种方式聚焦iframe,或者默认聚焦iframe(可能足够好,不确定你在做什么)但要使窗口keydown在该框架需要焦点的任何窗口(框架或非框架)上触发。

javascript - Chrome 扩展程序 - 访问 iframe 元素

我正在使用contentscript将iframe附加到页面,并将src设置为chrome.extension.getURL(myPage)。稍后在某些事件中,我想从框架中检索一些元素。我在contentscript中尝试了以下代码:vartextFrame=document.getElementById('iframeId');vartext=(textFrame.contentDocument||textFrame.contentWindow.document).getElementById('someDivId');但它抛出以下错误:UnsafeJavaScriptattempt

javascript - 在页面上多次使用时 iframe 的问题

我正在创建一个快速查看功能,您可以在其中直接在将打开的模式中查看产品列表中每个项目的内容。在模式中有一个使用javascript动态生成的框架,我放置了呈现模式内容的Controller的url(像这样的urlhttp://localhost/quickview/product/view/id/18564/).当模态关闭时,我删除模态内容,当用户想在同一页面上看到另一个产品的内容时,我用javascript重新生成一个iframe元素并显示。问题是,在第一个模态视图之后,iframe再次加载并显示内容,但是在iframe中运行的javascript(我们在产品内容中有一个图片库)不起作

javascript - 从父 JavaScript 访问跨域 IFrame DOM 属性

这个问题在这里已经有了答案:Waystocircumventthesame-originpolicy(8个答案)关闭7年前。已经有一些类似的问题,但它们往往涉及child与parent的关系。另一方面,我希望能够获得IFrame的DOM的一些属性。我不想操纵任何东西。我只想能够读取属性或DOM节点。诸如属性或内容之类的东西。AFAIK这是不可能的,除非我使用像window.postMessage这样的东西。与此解决方案一样合理的是,它基于事件监听器。这需要在IFrame中定义一个监听器,这意味着更改IFrame的代码。我想避免这种情况。如果你想进行跨域Ajax调用,你可以(如果你也有访

javascript - 如何将焦点移出 IFrame

我有一个带有一些按钮的IFrame。当按钮被点击时,父DOM被操作(它们都在同一个域中,所以不用担心同源策略)。由于用户单击了按钮,焦点转到了IFrame。但是,我想将焦点移回父文档(主要是由于thisFireFoxproblem)。我该怎么做?编辑:我创建了一个js-fiddle这表明了问题。如果在父表单元素上调用focus()似乎可以工作,但它通常不起作用。正如您从js-fiddle中看到的那样,我的父文档中没有表单元素。 最佳答案 如果要从iframe内部将焦点设置回外窗,聚焦外窗本身不太可能给用户任何视觉反馈,所以最好在外页

javascript - 滚动 iframe 内的 jQuery UI dropzone 错误偏移

我遇到了jQuery-UI可拖动和可放置的问题。我需要在放置在iframe内的droppable内拖动一个draggable。这工作正常,直到我滚动iframe。可放置坐标不会更新。这个问题在fiddle中得到了证明。我正在使用下面的变通方法首先使拖放到iframe成为可能。它计算正确的偏移量但不使用iframe的滚动偏移量。我试过了,但无法对其进行调整,因此它会考虑滚动偏移。//Createnewobjecttocacheiframeoffsets$.ui.ddmanager.frameOffsets={};//Overridethenative`prepareOffsets`met

javascript - 使用 postmessage 与 iframe 通信 - 错误在哪里?

我有一个Greasemonkey脚本,它应该向嵌入式iframe发送一个后置消息,在该iframe中,相同的脚本启动一个函数。我的注意力是发送一个简单的消息来触发iframe中的一个函数。该网站和iframe不在同一域中。我的js技术很差,找不到问题。感谢阅读//==UserScript==//@nameTest//@namespace//@includedomainA//@includedomainB//@version1//@grantnone//==/UserScript==if("domainA"===location.hostname){if(window===top)//p

javascript - 如何在跨域的iframe中获取父域名?

我想在iframejavascript中获取父域或url或主机名。我为此使用了document.referrer,但它只在第一次使用。我的意思是我的iframe包含表单,因此当用户提交表单时,iframe再次加载并且引荐来源网址将成为我的iframe的域。现在每次我的iframe加载时,我只需要父域名,因为我正在使用它创建链接。例子:$(".setUrl").each(function(){varreferrer=document.referrer;this.href=referrer+"/abc.html";});但由于我上面提到的原因,这只适用于第一次。那么有人可以帮助我克服这个问

javascript - 使用 jQuery 和 iFrame 下载大文件 - 需要文件就绪事件以便我可以隐藏加载 gif

我正在使用jQuery下载一些需要一些时间才能创建的文件,因此我显示了一个正在加载的gif以告诉用户耐心等待。但问题是,正在加载的gif当前显示和隐藏都在一瞬间。在下载完成并且用户在屏幕上看到“保存文件”弹出窗口后,我可以隐藏加载gif吗?HTMLJSvarreportId=$(this).closest("tr").attr("data-report_id");varurl="/Reports/Download?reportId="+reportId;varhiddenIFrameId='hiddenDownloader';variframe=document.getElementB

javascript - 如何将嵌入式 YouTube 视频的帧(通过 iframe)写入 Canvas ?

我希望能够从YouTube视频中的不同点(不仅仅是缩略图)提取帧,并对它们进行一些处理。我可以使用iframeAPI将视频嵌入我的网站,但我正在努力寻找一种方法将其捕获到Canvas上。(如果我被迫捕获整个屏幕没关系,如果我必须更改浏览器设置以允许它也没关系。) 最佳答案 一种选择是编写浏览器扩展。但我猜你会想避免这种情况。另一种选择是使用ScreenCaptureAPI(Chrome、Edge和Firefox支持)。查看browsercompatibilityinformation在MDN上。使用此API,您可以允许您的用户共享他