4

iframe を使用して Web ページを表示する WinJS アプリを作成しています。

アプリケーションをテストして実行すると、「アクセスが拒否されました」というエラーが表示されます。

私はiframeのコンテンツとやり取りしようとしていません。Webページを表示しようとしているだけです。


これは、アプリ内で外部 Web ページを表示する方法です。

<iframe src="http://imgur.com/Yk299"></iframe>

これは、スローされるエラーの例です。

Exception was thrown at line 17, column 363 in       
http://partner.googleadservices.com/gampad/google_ads_gpt.js

0x80070005 - JavaScript runtime error: Access is denied.

これに対処する方法がわかりません。

これらのエラーを無視できる場合、Visual Studio を無視するように設定する方法はありますか?

助けは素晴らしいでしょう。

4

3 に答える 3

2

スクリプトの実行内容とアプリに対するスクリプトの重要度に対する快適さのレベルに応じて、いくつかのオプションがあります。あなたが提供したリンクのかなりの数の例外は、Google 広告サービスのもののようです。別のソースから許可が拒否されたものもあります。

最初の例外にヒットしたときに [例外設定] を開くか (以下を参照)、Visual Studio メニューの [デバッグ] > [例外...] オプション (Ctrl+Alt+E) に移動して、デバッガーでブレークをトリガーする例外を制御できます。 .

ここに画像の説明を入力

iframe にサンドボックス属性を設定することもできます。たとえば、次のように設定すると、すべての例外が排除されます。

<iframe src="http://imgur.com/Yk299" sandbox="allow-top-navigation"></iframe>

もちろん、これはアプリのセキュリティに重大な影響を与える可能性があるため、これは、吟味して信頼できるコンテンツを含むサイトに対してのみ行ってください。

于 2013-01-07T18:12:48.043 に答える
1

たとえば、WinJS WebView を使用しないのはなぜですか。

<x-ms-webview id="webview" src="http://www.google.com" style="width: 1024px; height: 768px;">
</x-ms-webview>

彼らは、WinJS アプリ内から外部ページを参照するための好ましい方法であると言います。

于 2014-02-14T20:11:59.993 に答える
0

それらを無視することはできません。その保護は Web ブラウザーに組み込まれています。別のドメインを持つ iframe のコンテンツにアクセスすることはできません。独自のレンダラーを構築する必要があります。

于 2013-01-07T16:50:27.700 に答える