使用javascript更新src

时间:2015-11-17 11:14:33

标签: javascript html twitter

我在Jason Mayes使用Twitter抓取器,但截至今天早上,Twitter似乎已经改变了他们如何为Twitter Feed提供个人资料图片。

我仍然只是javascript的初学者而且我已经研究过他的代码但是无法看到他在个人资料图片中的位置,所以我写了一个函数来自img的属性(如下图所示)并将其应用于src属性。

不幸的是,我必须做错事,因为它似乎没有采取行动。我在JS Bin中将此视为错误:

TypeError:无法读取属性' 0'为null

有关我可能做错的任何建议吗?

我的功能:

    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>

2 个答案:

答案 0 :(得分:2)

试试这个......

$("#imageID").attr('data-src-1x', 'Your src');

答案 1 :(得分:2)

最新版本的Twitter Fetcher在撰写本文时(版本14.0)现在支持在Twitter更改格式后再次显示用户头像的修复程序。您可以在此处从GitHub获取最新版本:https://github.com/jasonmayes/Twitter-Post-Fetcher/blob/master/js/twitterFetcher_min.js

Twitter Fetcher的amending line 175解决了这个问题:

avatarImg.src = avatarImg.getAttribute(&#39; data-src-2x&#39;);