質問: 埋め込まれたinternetexplorerでのjavascriptエラー オフィスで統計を表示するためのウォールボード設定がありますが、埋め込みinternetexplorerを使用するウィジェットでjavascriptエラーが発生し続けます。エラーは問題なく閉じることができますが、1日に2〜3回程度頻繁に戻ってくるため、イライラします。エラーが発生すると、ウォールボードにリモートアクセスして閉じるまで統計を表示できなくなります。通常のinternetexplorerでは、以下のオプションのチェックを外すことで簡単に停止できます。私の質問は、ウィジェットに埋め込まれているinternet explorerでこのスクリプトエラーポップアップを無効にする方法です。編集:harrymcからの回答への応答harrymcの指示に従ってregeditを使用してこれらの設定を編集しましたが、それでもエラーが表示されます。
回答: この特定のケースでは、エラーを非表示にしようとするのではなく、エラーを完全に回避できる可能性があります(または、サプライヤーにこの投稿を参照してjavascriptを修正してください)。 たぶん、サーバーは以下のjavascriptの「開いたタブ」に対してまったく値を返しません。 ウィジェットのタブ設定を変更して、サーバーに何らかの値を設定させてみてください。ウォールボードでこれを行うことができない場合は、通常のブラウザで試してみてください。そうすると、設定がサーバーに保存されます。 これで問題が解決しない場合は、「通常の」internetexplorerブラウザで次のことを試してください。 使用しているurlのドメインが、スクリプトのロード元のドメイン(またはウィジェットがhtmlまたはデータのロード元のurl)と異なっている可能性があり、ieは3分の1を処理していると感じます。 -パーティcookie。だから:サードパーティのcookieを許可すると何が得られるかを見てください。 microsoftの cookieをブロック、有効化、または許可 を参照してください。 javascriptでcookieを設定または読み取るには、追加の権限が必要な場合があります。だから:信頼できるサイトに_daviker.whccs.com_を追加することが役立つかどうかを確認してください、もう少しできるようにしますか? microsoftの セキュリティゾーン:webサイトの追加または削除 を参照してください。 サーバーがすでに同じ名前のcookieを設定しているが、それを httponly とマークして、javascriptからアクセスできないようにしている可能性があります。 既存の「アクティブタブ」cookieを削除してみてください。 バックグラウンド: スクリプト の1546行目のエラーは、まったく同じスクリプトがそのcookie自体を設定/変更しようとした直後に、そのスクリプトで使用できない特定のcookieに関連しています(1541行目、その値1533行目がそれをチェックできないため、実際にはundefinedである可能性があります):_1527 restoretabsfromtheserver: function() 1528 { 1529 $.post("xrm_ui?get=gettabs", {}, function(responce) { 1530 1531 reporttabs.tabcaptions = responce.reportpages; 1532 // next line only checks for an empty "openedtabs", not for // an undefined or null value; bad coding... 1533 if (responce.openedtabs == '') 1534 { 1535 $.cookie("active-tabs", ''); 1536 reporttabs.tabidselected = undefined; 1537 reporttabs.tabindexselected = undefined; // next line would exit the function if we had an empty // result, but not if it is undefined or null 1538 return false; 1539 } 1540 // next line: no error while writing, but the new value could // be undefined, which might even clear an existing cookie? 1541 $.cookie("active-tabs", responce.openedtabs); 1542 reporttabs.tabidselected = responce.tabidselected; 1543 reporttabs.tabindexselected = responce.tabindexselected; 1544 1545 // restore tabs // next line: no result when reading 1546 var arr = $.cookie("active-tabs").split(','); 1547 ... _したがって、埋め込まれたieがcookieのjavascript設定を無視しているか、javascriptがcookieを未定義に設定しているようです。そして、その値を読み戻そうとすると、それは空です†。埋め込まれたieコンポーネントがcookieに「通常の」ieブラウザ設定を使用しているかどうかはわかりません。しかし、私は確かにieブラウザで埋め込まれたieコンポーネント共有クッキーを見てきました。 (ieがデフォルトのブラウザではないときにexcelでリンクをクリックするときのように、 ie cookieは引き続き一部の検出に使用されます 。)したがって、「通常の」_の設定を変更する可能性があります。ieブラウザは、javascriptが埋め込みコンポーネントにこのcookieを設定できるようにします。† あるいは、1529行目でサーバーから受信した値が有効な値ではないため、書き込みまたは読み取りが失敗する可能性があります。 cookieではカンマは許可されていません のように、.split(',')は疑わしいように見えます。ただし、_$.cookie_にどのjqueryプラグインが使用されているかさえわからないため、エンコードを使用しているかどうかを判断するには、さらに詳細な情報が必要になります。