用jquery检索原始html,而不是渲染的html

安德鲁

我已经在网站上添加了Twitter时间轴。它呈现,并且如果我单击页面上的查看源,我可以看到我添加到该站点的相同的twitter小部件html:

<div id='twitterDiv'>
    <a class="twitter-timeline"
      href="https://twitter.com/twitterName"
      data-widget-id="123456789012344567">
    Tweets by @goodName
    </a>
    <script type="text/javascript">
    window.twttr = (function (d, s, id) {
      var t, js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id; js.src=     "https://platform.twitter.com/widgets.js";
      fjs.parentNode.insertBefore(js, fjs);
      return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
    }(document, "script", "twitter-wjs"));
    </script>
</div>

但是,当我使用jquery从包含它的div中获取html时,$('#twitterDiv').html();它将检索twitter生成的呈现的iframe而不是原始的html:

<p data-twttr-id="twttr-sandbox-0"><iframe style="border: none; max-width: 100%; min-width: 180px; width: 238px;" height="600" scrolling="no" frameborder="0"></iframe></p>
<p>
<script type="text/javascript">
window.twttr = (function (d, s, id) {
  var t, js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id; js.src= "https://platform.twitter.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);
  return window.twttr || (t = { _e: [], ready: function (f) { t._e.push(f) } });
}(document, "script", "twitter-wjs"));
</script>

如何检索原始HTML,而不是呈现的iframe?

Leo Jiang

加载Twitter脚本时,它将使用iframe替换原始HTML。JQuery只能访问新的HTML,而不能访问原始HTML。

您可以做的是在Twitter脚本加载之前将原始HTML保存在变量中。

<a class="twitter-timeline" id=twitter-timeline1 ...>
Tweets by @goodName
</a>
<script type="text/javascript">
var original_twitter_html=document.getElementById('twitter-timeline1').innerHTML

window.twttr = ...
</script>

您可以稍后在Javascript中使用此变量。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从vuejs内渲染原始html

来自分类Dev

用jquery在'a'标记中选择html,但获取html不是函数

来自分类Dev

使用Express 4渲染原始HTML视图

来自分类Dev

如何使用AngularJS渲染原始HTML?

来自分类Dev

原始html渲染与动态JS渲染的间距不同

来自分类Dev

原始html渲染与动态JS渲染的间距不同

来自分类Dev

使用angularjs渲染json而不是html

来自分类Dev

预编码html渲染而不是显示文本

来自分类Dev

即和边缘下载HTML而不是渲染

来自分类Dev

反应渲染输出为HTML而不是组件

来自分类Dev

Django渲染以查看不是HTML

来自分类Dev

Chrome 扩展 - 在 JavaScript 渲染之前获取真正的原始 HTML 文档

来自分类Dev

用小村庄渲染静态HTML

来自分类Dev

使用Django用HTML渲染CSS

来自分类Dev

用jQuery替换HTML

来自分类Dev

jQuery .on()Vue.js呈现原始HTML

来自分类Dev

内容类型为“application/json”的渲染视图在屏幕上渲染原始 HTML

来自分类Dev

渲染angularJS HTML后应用jquery

来自分类Dev

识别通过框架生成而不是通过原始HTML构建的对象

来自分类Dev

在react-native-render-html自定义渲染器中提取原始HTML

来自分类Dev

Rails渲染-获取部分源而不是输出HTML

来自分类Dev

打字稿渲染显示按钮为文本而不是HTML

来自分类Dev

res.send() 给出 HTML 代码而不是渲染它

来自分类Dev

用jQuery替换HTML按钮

来自分类Dev

用jQuery计算HTML元素

来自分类Dev

用jQuery添加HTML元素

来自分类Dev

用jQuery创建HTML元素

来自分类Dev

用jQuery添加HTML元素

来自分类Dev

用jQuery删除HTML文本