2011-07-11 8 views
0

に変数を取り込むない私が働いていた時にサイトがフィードを表示するには、次のjQueryのTwitterウィジェットを使用している:jQueryのTwitterのウィジェットは、サファリ&IE

適切に最も上のこのウィジェット機能残念ながら

Simple jQuery twitter widget

、ツイート内に含まれる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); 
     }); 
    }; 

をだから、例えば、Firefoxや他のブラウザでは、つぶやきはSafariで、RTの@UserNameが表示されますときにしますRT {1}と表示されます。

他に誰かがこれに遭遇しましたか? Safariが持っていると思われる問題が、現在存在する文書に結び付けられていますか?前もって感謝します。

答えて

0

コードのこの小さなブロックを見てみると、私が気づいたことの違いはここにある:

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

あなたはおそらくこれが一致するように変更し、{0} {1}二重引用符ではなく、を持っています両方の変数が正しく表示されます。

+0

ジェームズは、あなたに感謝が、私は以前の機能はあなたのソリューションは、より良い結果を得られないであろう理由を示し思う: 'String.prototype.format =機能(){ するvar strの=この;for(arguments in arg){str = str.replace( "{" + arg + "}"、arguments [arg]); } return str; }; ' また、href文字列が発生していることに注目してください。ここでは、二重引用符が未処理のHTMLと同じように宛先URLを囲むことになります。 –

関連する問題