我正在<iframe>我的HTML页面中加载一个并尝试使用Javascript访问其中的元素,但是当我尝试执行我的代码时,我收到以下错误:
SecurityError: Blocked a frame with origin "http://www.<domain>.com" from accessing a cross-origin frame.
Run Code Online (Sandbox Code Playgroud)
你能帮我找一个解决方案,以便我可以访问框架中的元素吗?
我正在使用此代码进行测试,但徒劳无功:
$(document).ready(function() {
var iframeWindow = document.getElementById("my-iframe-id").contentWindow;
iframeWindow.addEventListener("load", function() {
var doc = iframe.contentDocument || iframe.contentWindow.document;
var target = doc.getElementById("my-target-id");
target.innerHTML = "Found it!";
});
});
Run Code Online (Sandbox Code Playgroud) 我想捕获每个未定义的函数错误抛出.JavaScript中是否存在全局错误处理工具?用例是捕获未定义的闪存函数调用.
我有一个网页,其中iframe中有一个textarea.我需要使用JavaScript从其子页面读取此textarea的值.
目前,通过window.parent.getelementbyID().value在JavaScript中使用,我能够获取父页面中除iframe中的textarea之外的所有控件的值.
任何人都可以给我任何指示来解决这个问题吗?
你怎么能让两个iFrame相互通话?例如,我是第二个iframe的元素值,第一个iframe上有显示元素.我需要从第2帧到第1帧获得值.我该怎么做?不要说使用cookies,因为大量数据会造成伤害.
如何从iframe中触发单击事件到其父元素?
在打开iframe之前,我在父页面上尝试了以下代码.
jQuery('iframe').contents().bind('eventhandler', function() {
alert('event was fired');
});
Run Code Online (Sandbox Code Playgroud)
我也试过了
jQuery(document).bind('eventhandler', function(e) {
alert('event was fired');
});
Run Code Online (Sandbox Code Playgroud)
在iframe中,我将此代码嵌入到click事件中
jQuery(document).trigger('eventhandler');
Run Code Online (Sandbox Code Playgroud)
但它不起作用我在这里做错了吗?
所以我的iframe中有一个变量,如下所示:
<script>
var zipphone = "<?= $phone ?>";
</script>
Run Code Online (Sandbox Code Playgroud)
现在我想在加载iframe之后将该变量传递给父框架.最简单的方法是什么?
为了将消息发送到另一个文档(比方说一个iframe),您可以使用两者postMessage和createEvent函数.假设这个:
var event = document.createEvent('CustomEvent');
event.initCustomEvent("message", true, true, 'Hello world');
iframe.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果两种方法都有效,那么使用postMessage和之间有什么区别customEvent?
我遇到了以下问题。我正在使用 Angular 加载 Iframe。将 Angular 应用程序视为 A,将 Iframe 视为 B。我正在 A 中加载 B。我使用 css 变量在 B 上设置颜色。在 A 上,我添加了一个颜色选择器。我想在 B 的主体中设置 A 的颜色选择器上选择的颜色。如何修改 Iframe 中 B 的主体颜色?作为参考,请考虑 WordPress 的自定义页面。我想做那样的事情