jQuery Twitter小部件未在Safari&;中填充变量;即

jQuery Twitter小部件未在Safari&;中填充变量;即,jquery,wordpress,firefox,twitter,safari,Jquery,Wordpress,Firefox,Twitter,Safari,我工作的一个站点正在使用以下jQuery twitter小部件显示提要: 不幸的是,虽然这个小部件在大多数浏览器上都能正常工作,但tweets中包含的Twitter句柄或作为回复的一部分不会显示。相反,Safari&IE满足于只在脚本中吐出变量 我相信问题可能在于这些浏览器如何解释这个功能: String.prototype.convertAtToLink = function () { return this.replace(/\@[A-Za-z0-9]*/, functio

我工作的一个站点正在使用以下jQuery twitter小部件显示提要:

不幸的是,虽然这个小部件在大多数浏览器上都能正常工作,但tweets中包含的Twitter句柄或作为回复的一部分不会显示。相反,Safari&IE满足于只在脚本中吐出变量

我相信问题可能在于这些浏览器如何解释这个功能:

String.prototype.convertAtToLink = function () {
        return this.replace(/\@[A-Za-z0-9]*/, function (str) {
            var link = "http://twitter.com/{0}";
            link = link.format(str.substr(1));
            var rstr = '<a href="{0}">{1}</a>';
            return rstr.format(link, str);
        });
    };
String.prototype.convertagtolink=函数(){
返回此。替换(/\@[A-Za-z0-9]*/,函数(str){
变量链接=”http://twitter.com/{0}";
link=link.format(str.substr(1));
var rstr='';
返回rstr.format(link,str);
});
};
例如,在Firefox或其他浏览器中,tweet将显示为RT@username,在Safari中显示为RT{1}


还有其他人遇到过这种情况吗?它是否与始终存在的文档绑定。Safari似乎已经准备好发布了吗?提前感谢。

看看这段代码,我注意到这里的区别:

var rstr = '<a href="{0}">{1}</a>';
var rstr='';

您将{0}用双引号括起来,而不是{1},也许将其更改为一致将允许两个变量正确显示。

James,谢谢,但我认为前面的函数说明了为什么您的解决方案不会产生更好的结果:
String.prototype.format=function(){var str=this;for(arg在参数中){str=str.replace(“{”+arg+“}”,arguments[arg]);}返回str;};
另外,请注意,这是一个href字符串,其中双引号将围绕目标URL,就像在原始HTML中一样。