2015-11-17 3 views
0

Я использую твиттер-приемник на Jason Mayes, но с сегодняшнего утра твиттер, похоже, изменил способ доставки изображений профиля для твиттер-каналов.Обновление src с помощью javascript

Я все еще только новичок в javascript, и я изучил его код, но не мог видеть, где он рисовал изображения профиля, поэтому я написал функцию, которая берет атрибут из img (Illustrated ниже) и применяет это к атрибуту src.

К сожалению, я должен делать что-то неправильно, поскольку это не похоже на действие. Я получаю это как ошибку в JS Bin:

TypeError: Не удается прочитать свойство «0» в нуль

Любые предложения о том, что я могу делать неправильно?

Моя функция:

function profileImageFix(profileImage) 
    { 
     profileImage = document.getElementsByClassName("user")[0].getAttribute("data-src-1x")[0]; 

     document.getElementsByClassName("user")[0].setAttribute(src, profileImage); 
    } 
    profileImageFix(); 

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> 
+0

'getElementByTagName' ==>' getElementsByTagName' (добавлено 's'), он возвращает набор элементов. Используйте 'document.querySelector ('. User a img'). Src = profileImage;' – Tushar

+0

Вы смешиваете javascript javascript и jQuery ('document. $ (Selector)'), но также 'getAttribute' будет методом, который вы называете 'getAttribute (" data-src-1x ")'. Если это не jQuery, в этом случае вы должны использовать 'attr (" data-src-1x ")' или 'data (" src-1x ")'. Но, пожалуйста, загляните в консоль Javascript (нажмите F12), чтобы узнать, какие ошибки вы получите. Здесь так много простых ошибок, что вы могли (и должны) хотя бы узнать о себе. – GolezTrol

+1

Привет @GolezTrol Я использовал JS bin, чтобы помочь мне диагностировать любые проблемы, но это не помогло мне в этом. Я возьму ваш комментарий на борту и продолжу свое образование в javascript, и разницы jquery приносят. – BoBFiSh

ответ

2

Последняя версия Twitter Сборщике на момент написания статьи (версия 14.0) теперь поддерживает исправление, чтобы показать аватары пользователя еще раз после того, как Twitter изменил формат. Вы можете получить самую последнюю версию с GitHub здесь: https://github.com/jasonmayes/Twitter-Post-Fetcher/blob/master/js/twitterFetcher_min.js

Это была решена amending line 175 в Twitter Сборщике следующим образом:

avatarImg.src = avatarImg.getAttribute ('данных SRC-2x');

+0

спасибо за обновление. Я следил за этим на github и недавно применил последнее обновление, но оценил последующий ответ здесь. – BoBFiSh

2

Попробуйте это ....

$("#imageID").attr('data-src-1x', 'Your src'); 
Смежные вопросы