我正在使用twitter撷取者Jason Mayes,但截至今天早上,twitter似乎已改变他们如何传送twitter资讯提供的个人资料图片。使用javascript更新src
我仍然只是一个JavaScript的初学者,我已经研究了他的代码,但无法看到他从哪里画的个人资料图片,所以我写了一个函数,它从img(Illustrated下面)并将其应用于src属性。
不幸的是,我不得不做错事,因为它似乎没有行动。我得到这个在JS斌错误:
类型错误:无法读取属性“0”空的
什么我可能是做错了什么建议?
我的功能:
function profileImageFix(profileImage)
{
profileImage = document.getElementsByClassName("user")[0].getAttribute("data-src-1x")[0];
document.getElementsByClassName("user")[0].setAttribute(src, profileImage);
}
profileImageFix();
的HTML经由Twitter的饲料拉是:
<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>
'getElementByTagName' ==>'getElementsByTagName'(增加's'),它返回一组元素。使用'document.querySelector('。user a img')。src = profileImage;' – Tushar
你在混合使用vanilla Javascript和jQuery('document。$(selector)'),而且getAttribute'会是一种方法你可以像getAttribute(“data-src-1x”)一样调用。除非是jQuery,否则应该使用'attr(“data-src-1x”)或'data(“src-1x”)'。但请查看Javascript控制台(按F12)以查看您得到的错误。这里有很多简单的错误,你可以(也应该)至少知道你自己。 – GolezTrol
嗨@GolezTrol我正在使用JS bin来帮助我诊断任何问题,但它并没有帮助我那么多。尽管如此,我会将您的评论留在板子上,并继续将我的教育转化为javascript以及jquery带来的差异。 – BoBFiSh