2

私は Metro アプリの開発は初めてですが、javascript と、Backbone、_、$ などのライブラリのいくつかを使用した経験があります。とにかく、js コードの一部を新しい Metro アプリにインポートしただけで、気づきました。一部の js 関数は転送されません。私が最初に気づいたのは警戒心でした。最終的に検索すると、アラートは次のように表すことができることがわかりました

window.alert = function (msg) {
    var dialog = new Windows.UI.Popups.MessageDialog(msg, "Alert");
    dialog.showAsync();
}

もう 1 つの奇妙な関数は document.write でした。「警告」したところ、定義されていましたが、使用するとアプリがクラッシュしました。

とにかく、このようなjs関数を含むドキュメントが実際にはメトロアプリに正確にマップされていないかどうか、またメトロと同等のもの、またはこれに対処するのに役立つjsライブラリがあるかどうか疑問に思っていましたか?

また、誰かが私の document.write() 呼び出しで何がうまくいかなかったのかを理解できたら (または、うまくいったのではないでしょうか?)、それも素晴らしいことです!

ありがとう!

4

2 に答える 2

1

あなたが求めていることを正確にカバーする良い記事が開発センターにあります:

alert特に、prompt、 、 などの詳細と 、 などのopen動的機能の「相違点」セクションを参照してください。document.writeinner/outerHTML

また、「ローカルおよび Web コンテキスト ページ」セクションをよく読んで、機能が機能する場合と機能しない場合がある理由と時期を理解してください。機能がコンテキストによってどのように影響を受けるかの概要は次のとおりです。

于 2012-08-24T13:39:36.967 に答える
0

このページを以前に試したことがあるかどうかはわかりません: HTML/JavaScript を使用した Metro アプリ. ここからすべての JS 関連の関数呼び出しを見つけることができると思います。

私が見る限り、この記事からわかるように、DOM は同じように見え、document.write()関数は実際にサポートされています。ただし、特別な言及があります。

解説 最初に open メソッドを呼び出して現在のドキュメント ウィンドウをクリアし、すべての変数を消去する場合を除き、ドキュメントの読み込みが完了した後で、現在のドキュメントに対して write メソッドまたは writeln メソッドを使用しないでください。メモ イベント ハンドラーで document.write または document.writeln を使用する場合は、document.close も使用する必要があります。

それが役立つことを願っています。

于 2012-08-24T09:21:34.060 に答える