如何用更大的版本替换twitter stream avatar?

时间:2013-10-12 16:04:27

标签: javascript jquery twitter retina

我尝试创建一个浏览器扩展程序,自动将流中的Twitter化身从其正常版本eg _normal替换为_bigger版本(用_bigger.jpg替换_normal.jpg字符串)

以下代码在jsfiddle jsfiddle to test外部执行此替换时没有问题。

$("img.avatar").replaceWith(function () {
  if ($(this).attr("src")) {
      return $(this).attr("src", $(this).attr("src").replace("_normal", "_bigger"));
  } else {
      return $(this);
  }
});

但是当我尝试在Twitter页面的控制台中使用相同的代码时,所有的头像图像都会消失。这是为什么?

1 个答案:

答案 0 :(得分:0)

我还没有找到为什么这个在jsFiddle上运行但在twitter上却没有,但这是在Twitter上工作:

$("img.avatar[src]").each(function() {
    var img = $(this);
    img.attr('src', img.attr('src').replace("_normal", "_bigger"));
});

因此,您不会删除img元素,只需将其src属性值替换为新元素。

另请注意,您可以使用src选择器仅获取replaceWith [attributeName]属性,而不是测试img.avatar函数中的src属性值定义

我将尝试更多地研究为什么你的方法不能在twitter上运行