尝试使用Twitter小部件和阴影DOM设计tweet
我正在尝试用html2canvas制作推特风格和屏幕截图。我使用Twitter小部件呈现tweet,然后从shadowroot DOM获取元素。直到几天前,它还在最新的Chrome浏览器中运行良好。现在我无法获得#shadow根元素,只有iframe。 代码是:尝试使用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:
<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的一部分,并且在我们寻求改进产品时可能会发生变化。