jQuery - 制限付きURIへのアクセスが拒否されました - 解決策

jQuery –制限されたURIへのアクセスが拒否されました–ソリューション

問題

このjQueryエラーメッセージは、クロスドメインコンテンツの読み込みが原因です。

Error: [Exception... "Access to restricted URI denied"
code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)"

これは、サイトに属していないか、サイトにないコンテンツ(異なるドメイン名)をロードしていることを意味します。 このjQueryの例を参照して、クロスドメイン(yahoo.com)コンテンツをオンデマンドでロードしてください。









  

ただし、これは機能しません。「ロード」ボタンをクリックすると、「Access to restricted URI denied」エラーメッセージが表示されるだけです。 Due to the JavaScript security constraints, it’s strictly not allow to load cross domain content

溶液

これは汚い回避策です-サーバー側言語でクロスドメインコンテンツを取得します。 たとえば、「proxy.php」という名前の1行のphpファイルを作成します。

proxy.php


jQuery側で、ロード関数を

$('#load').click(function(){
    $('#msg').text("Loading......");
    $('#content').load("proxy.php?url=http://www.yahoo.com", function() {
        $('#msg').text("");
    });
});

これで、「ロード」ボタンをクリックすると、クロスドメイン(yahoo.com)コンテンツがオンデマンドでページにロードされます。