Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态添加代码笔嵌入并确保其呈现?_Javascript_Html_Codepen - Fatal编程技术网

Javascript 如何动态添加代码笔嵌入并确保其呈现?

Javascript 如何动态添加代码笔嵌入并确保其呈现?,javascript,html,codepen,Javascript,Html,Codepen,期望的行为 在注册用户可以编辑页面内容的环境中显示嵌入式代码笔 一个页面中可能添加了多个代码笔 实际行为 将笔添加到DOM时,笔不会显示,只显示指向笔的链接 复制步骤 注意:下面的步骤只是为了演示在我自己的环境中发生的逻辑,即注册用户在网站上编辑内容 01)转到此随机选择的 02)点击页面右下角的嵌入链接 03)从HTML(推荐)选项卡复制内容 04)转到 05)打开Chrome开发者工具,用嵌入代码替换段落元素 06)笔将不显示,仅显示如下链接: See the Pen [pen_name]

期望的行为

在注册用户可以编辑页面内容的环境中显示嵌入式代码笔

一个页面中可能添加了多个代码笔

实际行为

将笔添加到DOM时,笔不会显示,只显示指向笔的链接

复制步骤

注意:下面的步骤只是为了演示在我自己的环境中发生的逻辑,即注册用户在网站上编辑内容

01)转到此随机选择的
02)点击页面右下角的
嵌入
链接
03)从
HTML(推荐)
选项卡复制内容
04)转到
05)打开Chrome开发者工具,用嵌入代码替换段落元素
06)笔将不显示,仅显示如下链接:

See the Pen [pen_name] by [pen_author] on CodePen  
问题

我需要执行哪些额外步骤来确保代码笔被渲染

鉴于嵌入代码的格式为:

见史蒂夫·加德纳的笔() 在…上

当脚本粘贴到页面中时,期望脚本只完成它的工作似乎有点自以为是

如果是这种情况,我如何动态添加内容(包括脚本标记)并确保执行它

编辑

我刚刚遇到了这个,它表明了这种格式:

$.getScript(“https://static.codepen.io/assets/embed/ei.js“,函数(){
log(“运行新js!”);
});
当我在chromedev工具中运行它时,在DOM中粘贴嵌入代码后,笔被渲染

  • 这种方法有什么问题吗
  • 为什么在DOM中粘贴嵌入代码“不起作用”
  • 嵌入代码中引用的脚本文件是否是笔独有的
  • 或者只需将脚本添加到页面中一次,它就能处理所有嵌入的笔(既有笔也有动态添加的笔)
我尝试将此添加到


而且,将它放在那里似乎不会解析现有的或动态添加的嵌入代码

它们仍然只是显示消息:

See the Pen [pen_name] by [pen_author] on CodePen    
再次编辑

使用
中引用的脚本,在将HTML动态添加到DOM后,我尝试调用此脚本:

__CPEmbed()
它会渲染代码笔

我不确定这是否是一种合法的方式,但我在文章结尾处遇到了
\uu CPEmbed


我看你已经明白了!是的,
\uu CPEmbed()
是触发iframe插入的官方API。如果您想将某些嵌入作为目标,您甚至可以为其提供一个特定的选择器:
\uu CPEmbed('.my codepen embed')

默认情况下,当
document.readyState!==正在加载“
,但您可以随时调用它。多个调用不应影响已转换的嵌入

我在我们的常规嵌入文档中再也找不到这个了,所以我正在做一个注释来更新它


谢谢

您好-这一切都改变了吗,我刚开始得到错误
未捕获引用错误:\uu CPEmbed未定义
调用
\uu CPEmbed()-我想它是昨天起作用的,在最近的一次编码狂潮中,我可能在其他地方改变了一些东西,这就是原因,但我想我会问,谢谢。脚本链接到模板html页面:
具体来说,错误是:
未捕获引用错误:u CPEmbed未在Object.success(common.js:1945)at fire(jquery.js:3291)at Object.firefith[解析](jquery.js:3421)at done(jquery.js:9533)at XMLHttpRequest.eval(jquery.js:9785)处定义
@user1063287 CodePen嵌入脚本(ei.js)出现临时问题,该问题已得到修复。现在应该可以正常工作了。谢谢@shshaw-我可以确认此错误消息不再显示,谢谢。