[codeplayer]当iframe内容是通过textarea动态加载javascript时,如何在iframe中查找元素

天使

作为我的一个挑战,我决定做一个像jsfiddle这样的小代码播放器,我已经做完了,但是当我尝试执行JS时,当我尝试像这样调用iframe中的一个元素时,我的问题就来了:

document.getElementById("hola").innerHTML="nohola";

它只是说:

TypeError: document.getElementById(...) is null

有一个现场演示:jsfiddle.net

我如何将js注入iframe并在其中调用元素?

艾哈迈德·易卜拉欣|

问题是您的script标签是由document主文档对象创建的

var script = document.createElement('script');

这将使其中的javascript成为主文档的作用域。您必须使用的document对象创建它iframe,以便javascript的作用域为iframe

您可以iframe通过以下contentWindow.document属性访问文档

检查这个小提琴

function runJs() {
      var iframe = document.getElementById('resultIframe');
      var frameDoc = iframe.contentDocument || iframe.contentWindow.document;
      var body = $('body', frameDoc);
      var code = $('#codeJs').find('textarea').val();
      var script = frameDoc.createElement("script");           // not document.createElement('script');
      script.setAttribute("type", "text/javascript");
      script.textContent = code; 
      body[0].appendChild(script); 
}

另请参阅这些答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从iFrame中的元素捕获动态内容?

来自分类Dev

如何在iframe中添加动态内容?

来自分类Dev

如何检测iframe内容元素的加载请求?

来自分类Dev

如何在iframe中动态包装文档?

来自分类Dev

如何在动态iframe中暂停vimeo?

来自分类Dev

在启动页面上以js编码的内容的Fancybox iframe-如何在页面加载时打开?

来自分类Dev

Javascript:无法在页面加载时打印iframe的内容

来自分类Dev

如何在iFrame中访问DOM元素

来自分类Dev

如何在Popup div中加载iframe内容?

来自分类Dev

如何在iframe中加载和执行jQuery内容?

来自分类Dev

如何在WkWebView的html文件中通过iframe加载本地文件?

来自分类Dev

如何将 iframe 的内容加载到 Visual Basic 中?

来自分类Dev

在加载后续内容时隐藏iframe

来自分类Dev

如何在iframe中调用javascript函数?

来自分类Dev

如何在iframe中调用javascript函数?

来自分类Dev

如何在动态更改iframe源时摆脱闪烁?

来自分类Dev

javascript - 重新加载 iframe 内容后获取 iframe 的 URL 在 Chrome 和 Safari 中不起作用

来自分类Dev

如何通过Selenium、WebDriver和Python在页面中查找jQuery动态加载的元素

来自分类Dev

当段落和文本动态地位于URL周围时,如何在<textarea>中查找URL?

来自分类Dev

如何知道通过iframe加载的网页是否在沙箱中?

来自分类Dev

如何知道通过iframe加载的网页是否在沙箱中?

来自分类Dev

通过位于iframe中的元素获取父iframe元素

来自分类Dev

如何使用jQuery在加载时加载iframe?

来自分类Dev

在动态加载的iframe中设置样式

来自分类Dev

在动态加载的iframe中设置样式

来自分类Dev

在iframe中输入内容时如何显示输入?

来自分类Dev

通过javascript或iframe从WordPress获取内容?

来自分类Dev

如何在fancybox 3 iframe中添加额外的内容?

来自分类Dev

如何在iframe中显示不安全的内容

Related 相关文章

  1. 1

    如何从iFrame中的元素捕获动态内容?

  2. 2

    如何在iframe中添加动态内容?

  3. 3

    如何检测iframe内容元素的加载请求?

  4. 4

    如何在iframe中动态包装文档?

  5. 5

    如何在动态iframe中暂停vimeo?

  6. 6

    在启动页面上以js编码的内容的Fancybox iframe-如何在页面加载时打开?

  7. 7

    Javascript:无法在页面加载时打印iframe的内容

  8. 8

    如何在iFrame中访问DOM元素

  9. 9

    如何在Popup div中加载iframe内容?

  10. 10

    如何在iframe中加载和执行jQuery内容?

  11. 11

    如何在WkWebView的html文件中通过iframe加载本地文件?

  12. 12

    如何将 iframe 的内容加载到 Visual Basic 中?

  13. 13

    在加载后续内容时隐藏iframe

  14. 14

    如何在iframe中调用javascript函数?

  15. 15

    如何在iframe中调用javascript函数?

  16. 16

    如何在动态更改iframe源时摆脱闪烁?

  17. 17

    javascript - 重新加载 iframe 内容后获取 iframe 的 URL 在 Chrome 和 Safari 中不起作用

  18. 18

    如何通过Selenium、WebDriver和Python在页面中查找jQuery动态加载的元素

  19. 19

    当段落和文本动态地位于URL周围时,如何在<textarea>中查找URL?

  20. 20

    如何知道通过iframe加载的网页是否在沙箱中?

  21. 21

    如何知道通过iframe加载的网页是否在沙箱中?

  22. 22

    通过位于iframe中的元素获取父iframe元素

  23. 23

    如何使用jQuery在加载时加载iframe?

  24. 24

    在动态加载的iframe中设置样式

  25. 25

    在动态加载的iframe中设置样式

  26. 26

    在iframe中输入内容时如何显示输入?

  27. 27

    通过javascript或iframe从WordPress获取内容?

  28. 28

    如何在fancybox 3 iframe中添加额外的内容?

  29. 29

    如何在iframe中显示不安全的内容

热门标签

归档