2011-07-27 35 views
4

Chrome拡張機能を作成していましたが、ポップアップページに問題があります。私は存在していたページの一部をロードするためにjQueryの負荷()関数を使用し、のは言わせて:http://aaa.comChrome拡張機能のポップアップページのリンクが機能しない

<div id="aaa-news"> 
$(document).ready(function(){ 
    $("#ox-news").load("http://aaa/News/ .news_list"); 
}); 
</div> 

私はpopup.htmlにロードしようとしたページの一部は、いくつかのリンクが含まれていますが、これらのhref属性を思わので、 chrome.tabs.create。* APIを使用して新しいタブを開く場合でも、popup.htmlに読み込まれるたびにChromeによってリンクが変更されています。

ウェブアドレスでウェブページが見つかりませんでした: Chrome拡張:// phigdpgmolbpdcihdohfpbafibncbkhl/News/1 エラー6(net :: ERR_FILE_NOT_FOUND):ファイルまたはディレクトリは、見つけられない。

誰でも知っていますか?あなたの助けに感謝!

+0

外部(拡張子に含まれていない)ページの内容をポップアップに読み込もうとしていて、その中に読み込まれた相対リンクが正しく開かれていないと言っていますか?もしそうなら、私が考えることができる唯一のクリーンな修正は、リンクのソースを絶対に変更することです(例えば、 ''あなたが属していない(つまりあなたに属していない)場合、あなたは賢明で、リンクが絶対的なものでなければなりません。 – Alasdair

+0

@Alasdair:正確に尖っています。 !最初に、私はソースを変更することができないので、私は絶対的なものへの相対的なリンクを変更することができるかもしれないと思っていますが、それはハードコーディングをたくさん持っています、どうすれば私はそれらを動的に変更できますか?より多くのニュース? – jianinz

+0

残念ながら、これは簡単な作業ではありません、私はあなたのソースのリンクを変更することを念頭に置くことを提案することができます単純な相対リンク(例えば 'News/1')それを動作させるためのURLですが、リンクがあると複雑になる可能性がありますもっと複雑( '../ニュース/ 1'、' /ニュース/ 1'など)。私はちょうど助けかもしれないが[このスクリプト](http://www.phpied.com/relative-to-absolute-links-with-javascript/)を見つけましたが、私はすぐにそれをテストする時間がありません。がんばろう! – Alasdair

答えて

6

相対リンクを修正するには、<base>タグを使用できます。 (それ以外のリンクは非クリッカブルになって)ポップアップ内のすべてのリンクがtarget="_blank"を設定することで、タブで開くようにすることも有用です:

<base href="http://aaa/" /> 
<base target="_blank" /> 
+0

あなたのポストに感謝しますが、私の問題は他のサイトから抽出してpopup.htmlページに埋め込んだときにhref属性のリンクアドレスが変更されることです"http:// aaa/bbb/c"でなければなりませんでしたが、今は "chrome:// phigdpgmolbpdcihdohfpbafibncbkhl/bbb/c"になりました。タグ、タグのtarget = "_ blank"属性を追加しましたが、機能しませんでした。 – jianinz

+0

はい、おそらく、外部ページのソースコードの相対リンクのために、リンクが置き換えられていると思います。私は ''を ''の中に追加しても、すべての相対リンクを変更できないと思っています。それはあまりにも多くの作業です。 – jianinz

0

私は同じ問題を抱えていたし、次のChromeの拡張機能を使用することによってそれを解決しました。

新しいタブリダイレクト! 2.0

https://chrome.google.com/webstore/detail/icpgjfneehieebagbmdbhnlpiopdcmna

オリジナルのクロームページこの拡張機能のインストール後に表示されるタブの「新しいタブ」ボタンをクリックします。

関連する問題