2012-02-27 16 views
-1

これは奇妙なものです。私は次のことを試みています。Wikipediaのページを読み込んでローカルに印刷

私は、ランダムなWikipediaページを生成するローカルHTMLとJavaScriptファイルを持っています。私がランダムなWikipediaページのURLを取得したら、それをプリンタに送信します。しかし、ChromeとFirefoxの両方でこれに本当の問題があるようです。 Chromeの場合

私はエラーを取得する:Firefoxので

Unsafe JavaScript attempt to access frame with URL https://secure.wikimedia.org/wikipedia/en/w/index.php?title=Popran_National%20Park&printable=yes from frame with URL my local 
file. Domains, protocols and ports must match. </br> 
gol.js:99Uncaught TypeError: Object [object DOMWindow] has no method 'print' 

:あなたは、私はローカルで物事を実行していますので、これは可能性があり

Permission denied to access property 'print' </br> 
[Break On This Error] </br> 
infoWindow.print(); 

と思いますか?

新しいウィンドウが産卵のために私のコードは次のとおりです。printWin()

var printURL = "https://secure.wikimedia.org/wikipedia/en/w/index.php?" 
infoWindow = window.open(printURL,'wiki'); 
setTimeout ("printWin()", 2000); 

です:

function printWin(){ 
    infoWindow.print(); 
    infoWindow.close(); 
} 
+0

ウェブサイトは別のサイトで物事を実行することはできません。それは同じ起源政策と呼ばれています。 – pimvdb

答えて

0

それはあなたがに実行されているセキュリティポリシーのものです。 thisthisを読んでください。

実行する必要があるのは、サーバーを介してWikiページのGETリクエストを実行することです。したがって、サーバーはプロキシとして機能します。ブラウザはこれを可能にします。なぜなら、その観点から見ると、コンテンツはホスティングページと同じ起源からのものだからです。

リンクが壊れている可能性があります。そのすべてをプロキシする方法や、HTMLを書き直す方法を考えなければならないかもしれません。そうすれば、今は著作権の世界に入っていて、すべてのことが何になるのかは分かりません。

Wikipediaのコンテンツをサーバー経由でプロキシすることが許可されているため、その起源を隠していますか?たぶんあなたは内容を変更しない限りです。しかし、見た目に見えるようにHTMLを調整すれば、あなたは悪い男の子かいい男の子ですか?私はこれについて何も知らない。

私はあなたの技術的な質問にも答えたと思います。

+0

ありがとうございました1461あなたが送ったリンクを調べます。法律に関しては、とにかく内容を変更していないので、それは問題ないと思います。あまりにもそれを読んで:) –

関連する問題