尝试使用Twitter小部件和阴影DOM设计tweet

尝试使用Twitter小部件和阴影DOM设计tweet,twitter,shadow-dom,twitter-widget,Twitter,Shadow Dom,Twitter Widget,我正在尝试用html2canvas制作推特风格和屏幕截图。我使用Twitter小部件呈现tweet,然后从shadowroot DOM获取元素。直到几天前,它还在最新的Chrome浏览器中运行良好。现在我无法获得#shadow根元素,只有iframe。 代码是: <div id="tweet" tweetID="1276058326954938368"></div> <script sync src="https:

我正在尝试用html2canvas制作推特风格和屏幕截图。我使用Twitter小部件呈现tweet,然后从shadowroot DOM获取元素。直到几天前,它还在最新的Chrome浏览器中运行良好。现在我无法获得#shadow根元素,只有iframe。 代码是:

<div id="tweet" tweetID="1276058326954938368"></div>

<script sync src="https://platform.twitter.com/widgets.js"></script>

<script>

  window.onload = (function(){

    var tweet = document.getElementById("tweet");
    var id = tweet.getAttribute("tweetID");

    twttr.widgets.createTweet(
      id, tweet,
      {
        conversation : 'none',
        theme        : 'light'    
      })
    .then (function (el) {
      el.shadowRoot.querySelector(".footer").style.display = "none";
    });

  });

</script>

window.onload=(函数(){
var tweet=document.getElementById(“tweet”);
var id=tweet.getAttribute(“tweetID”);
twttr.widgets.createTweet(
身份证,推特,
{
对话:“无”,
主题:“光”
})
.然后(功能(el){
el.shadowRoot.querySelector(“.footer”).style.display=“无”;
});
});
它看起来像: 现在看来:


你有什么想法吗?这可能与chrome更新有关吗?

我相信这与。我不知道最好的解决方案,但我也在Twitter开发者论坛上看到过。这似乎是一个原因。当tweet有更新的设计时,我无法获得ShadowDOM。谢谢你的公告链接。@TajMiller这是Andy链接到的公告的结果。虽然更新有一些小的UI改进,但它也包含了一些重要的变化。其中一个变化是使用iframe而不是自定义元素。目前没有恢复到旧版本的计划。我们不推荐基于结果嵌入的特定标记的实现,因为它不是我们公开文档API的一部分,并且在我们寻求改进产品时可能会发生变化。我相信这与。我不知道最好的解决方案,但我也在Twitter开发者论坛上看到过。这似乎是一个原因。当tweet有更新的设计时,我无法获得ShadowDOM。谢谢你的公告链接。@TajMiller这是Andy链接到的公告的结果。虽然更新有一些小的UI改进,但它也包含了一些重要的变化。其中一个变化是使用iframe而不是自定义元素。目前没有恢复到旧版本的计划。我们不推荐基于结果嵌入的特定标记的实现,因为它不是我们公开文档化API的一部分,并且在我们寻求改进产品时可能会发生变化。