我正在使用 Jason Mayes 的 Twitter 抓取器但截至今天早上,Twitter 似乎已经改变了他们为 Twitter Feed 提供个人资料图片的方式。
我仍然只是 javascript 的初学者,我研究了他的代码,但看不到他在哪里绘制个人资料图片,所以我编写了一个函数,从 img 中获取属性(如下所示) ) 并将其应用于 src 属性。
不幸的是,我一定做错了什么,因为它似乎没有起作用。我在 JS Bin 中收到此错误:
类型错误:无法读取 null 的属性“0”
对我可能做错的事情有什么建议吗?
我的功能:
function profileImageFix(profileImage)
{
profileImage = document.getElementsByClassName("user")[0].getAttribute("data-src-1x")[0];
document.getElementsByClassName("user")[0].setAttribute(src, profileImage);
}
profileImageFix();
通过 Twitter feed 拉取的 HTML 是:
<div class="user">
<a href="https://twitter.com/" aria-label="twitter (screen name: twitter)" data-scribe="element:user_link" target="_blank">
<img alt="" data-src-1x="https://pbs.twimg.com/profile_images/661484218843953664/_B24ia6H_normal.png" data-src-2x="https://pbs.twimg.com/profile_images/661484218843953664/_B24ia6H_bigger.png" data-scribe="element:avatar">
<span>
<span data-scribe="element:name">twitter</span>
</span>
<span data-scribe="element:screen_name">@twitter</span>
</a>
</div>
最佳答案
撰写本文时最新版本的 Twitter Fetcher(版本 14.0)现在支持修复,以在 Twitter 更改格式后再次显示用户头像。您可以从此处的 GitHub 获取最新版本:https://github.com/jasonmayes/Twitter-Post-Fetcher/blob/master/js/twitterFetcher_min.js
此问题已由 amending line 175 解决Twitter Fetcher 的功能如下:
avatarImg.src = avatarImg.getAttribute('data-src-2x');
关于javascript - 使用 javascript 更新 src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33755509/