iframe visual studio html5 приложение для Windows 8

Я создаю свое первое приложение для Windows 8 в стиле metro. Я пытаюсь сделать это с помощью iframe для runescape.

Это мой код:

    <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Runescape_Metro_Client</title>

    <!-- WinJS references -->
    <link href="//Microsoft.WinJS.2.0/css/ui-dark.css" rel="stylesheet" />
    <script src="//Microsoft.WinJS.2.0/js/base.js"></script>

    <!-- Runescape_Metro_Client references -->
    <link href="/css/default.css" rel="stylesheet" />
    <script src="/js/default.js"></script>
</head>
<body>
    <iframe sandbox="allow-scripts" id="Iframe" src="http://www.runescape.com/game" style="width:100%; height:100%"></iframe>
</body>
</html>

и это ошибка, которую я получаю:

APPHOST9625: Kan niet navigeren naar: " http://www.runescape.com/game ". Een iframe heeft geprobeerd om naar een URI te navigeren die is is opgenomen in de ApplicationContentUriRules voor deze app. Gebruik in plaats daarvan een x-ms-webview-element om de URI te bejjken of the voe de URI toe aan de ApplicationContentUriRules-secty van het pakketmanifest, zodat het iframe daarnaartoe kan navigeren. (Voeg в Visual Studio - "URI содержимого").

(переведено на английский с Google Translate это:

APPHOST9625: Невозможно перейти по адресу: http://www.runescape.com/game. Iframe попытался перейти, который не включен в ApplicationContentUriRules для этого приложения. Для URI Вместо этого используйте элемент x-ms-webview, чтобы увидеть, добавляет ли URI URI в раздел ApplicationContentUriRules манифеста пакета, поэтому iframe перейдет туда для навигации. (Запишите в Visual Studio этот URI на вкладку "Содержимое" URI конструктора манифеста.)

Google не помог, поэтому я спрашиваю это здесь.

3 ответа

Для приложений Windows 8.1 вы больше не можете использовать iframe для незащищенных http URI. В вопросе вы получите сообщение об ошибке, которое предполагает, что вы можете просто добавить свой URI в ApplicationContentUriRules, но это позволит вам только добавить https URI к правилам.

Так что вам придется использовать проприетарный <x-ms-webview> тег вместо <iframe> если вы хотите предоставлять незащищенный контент из вашего приложения. (например <x-ms-webview src="http://www.google.com">)

см. http://www.kraigbrockschmidt.com/2014/01/13/frame-to-webview-part-one/

При переходе на Windows 8.1 вы должны использовать элемент управления x-ms-webview вместо iframe в большинстве случаев. Как правило, это так же просто, как заменить на в вашей разметке. Однако, если у вас есть связь postMessage с iframe в Win8, вам нужно преобразовать этот код, чтобы использовать invokeScriptAsync веб-просмотра (для вызова функций в веб-представлении) и использовать window.external.notify, чтобы вызывать события обратно в приложение.

Вам нужно открыть файл apppackage.manifest и перейти на вкладку Content URI, включая URL-адрес, который вы пытаетесь запустить из iframe.

Другие вопросы по тегам