0

Ajax getこの場合は cnn.com から、クロス ブラウザー データを取得しています。

   $(function(){

    var site = 'http://cnn.com/';

    $.get('proxy.php', { site:site }, function(data){

    $(data).find('a').attr('href', function(_, href){
         return href.replace(/\/\/[^\/]+/, '//cnn.com')
    }); 

    $('#result').append(data);


    }, 'html');

    });

ご覧のとおり、URL の一部を「cnn.com」に置き換えることができるコードがあります。これは、URL パスが多くの場合、私の Web サイト ドメインに関連付けられているため必要です。問題は、置換機能が機能していないように見えることです。コンソールにエラーが表示されないので、コードを別の場所に配置する必要があると思われます。aもう 1 つの可能性は、Ajax ロード データ プロセスが完了していないために、コードが見つからないことです。イベント ajaxComplete で修正しようとしましたが、うまくいきませんでした。関数が a を見つけて置き換えるには、コードで何を変更する必要がありますか?

ps proxy.php コードの一部があることは知っていますが、ブラウザ側でこれを行います (javascript/jquery)

4

1 に答える 1

2

要素を操作してjQueryオブジェクトを作成していますが、それを追加しておらず、最終的にdata変更されていません。これを試してください:

$(data).find('a').attr('href', function(_, href){
     return href.replace(/\/\/[^\/]+/, '//cnn.com')
}).end().appendTo('#result');
于 2013-01-26T11:23:59.760 に答える