简体   繁体   English

如何从可编辑的CodePen Embed Pen中获取HTML代码

[英]How to get HTML code from editable CodePen Embed Pen

Is it possible to get the HTML from a editable CodePen Embed?是否可以从可编辑的 CodePen Embed 中获取 HTML?

I tried to get the iFrame Content but it's restricted.我试图获取 iFrame 内容,但它受到限制。 Also no luck with postMessage. postMessage 也不走运。

Simple example for the embed pen:嵌入笔的简单示例:

<div 
  class="codepen" 
  data-prefill 
  data-height="400" 
  data-theme-id="1"
  data-default-tab="html,result"
  data-editable="true"  
>
<pre data-lang="html">
  &lt;div class="module"&gt;
    &lt;h3&gt;Module Title&lt;/h3&gt;
    &lt;p&gt;This little piggy went to market.&lt;/p&gt;
  &lt;/div&gt;
</pre>
</div>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

The trick was to use window.parent.parent.postMessage() .诀窍是使用window.parent.parent.postMessage()

<script>
window.addEventListener('message', function(event) {
  console.log(event.data); // the html
});
</script>
<div
        class="codepen"
        data-prefill
        data-height="400"
        data-theme-id="31205"
        data-editable="true"
        data-default-tab="html,result"
>
<pre data-lang="js">window.parent.parent.postMessage(document.body.children[0].outerHTML, '*');</pre>
<pre data-lang="html">
  &lt;div class="module"&gt;
    &lt;h3&gt;Module Title&lt;/h3&gt;
    &lt;p&gt;This little piggy went to market.&lt;/p&gt;
  &lt;/div&gt;
</pre>
</div>
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM