1

誰かがこれで私を正しい方向に向けることができることを本当に願っています.sp前もって感謝します:)

私はjsonフィードで入ってくるものを取り、いくつかのJavaScriptを使用して埋め込みリンクを取得する必要があります-私はdocument.getElementsByTagNameで取得していました-そしてそれらをwindow.open関数に変換します。

私はこれまでのところ

var links = document.getElementsByTagName('a');
var len = links.length;

for(var i=0; i<len; i++)
{
    links[i].target = "_blank";
}

これは私のURLに場所を追加しますが、実際に私が本当にする必要があるのは、すべてのURLをhref文字列のようにすることです

<a href="http://myurl.com"</a>

それらをプレーンなJavaScriptで返し、関数を呼び出します

window.open('http://myurl.com', '_blank', 'location=yes');

それが理にかなっていることを願っています。初心者の助けに感謝します。アリスター

もうちょっと...

Karaxuna - ご提案ありがとうございます。何らかの理由でループ関数が必要なものを返さなかったのですが、それはおそらく私がそれをどのように使用しようとしているかが原因です.

私は実際に、すべてのリンクに inappbrowser 関数を使用して、システム ブラウザーではなくアプリの webview 内で開くように、モバイル ブラウザー呼び出しの Phonegap で機能するものを取得しようとしています。そのためには、すべてのリンクを関数 window.open(' http://myurl.com ', '_blank', 'location=yes');で起動する必要があります。

sencha touch を使用して、json フィードからコンテンツを取得するリスト項目タップを作成しています。コードは次のようになります

onMylistItemTap: function(dataview, index, target, record, e, eOpts) {
    dataview.up().push({
        xtype: 'panel',
        html: [ 
        "<div class='news_story'>" +
        "   <h4>" + record.get('title') + "</h4>" +
        "   <img src='" + record.get('mobile_url') + "' />" +
        "   <span>" + record.get('content') + "</span>" +
        "</div>"
        ],
        id: 'NewsDetailCard',
        scrollable: {
            direction: 'vertical',
            directionLock: true
        }
    });
    var links = document.getElementsByTagName('a');
    var len = links.length;

    for(var i=0; i<len; i++)
    {
        links[i].addEventListener('click', function(){
            window.open(this.href, '_blank', 'location=yes');
            return false;
        });
    }

},

ただし、追加したクリック機能でリンクが開かれていません。何が悪いのかわからない。アリスター

4

1 に答える 1

1
for(var i=0; i<len; i++)
{
    links[i].addEventListener('click', function(e){
        window.open(this.href, '_blank', 'location=yes');
        e.preventDefault();
    });
}
于 2013-07-25T09:34:30.983 に答える