2010-12-07 10 views
0

フレームでHTAを使用しています。左側のフレームがメインフレームを制御し、ナビゲーションパネルのようなページを表示します。たとえば、次のようにします。メインウィンドウに表示されます。 (これはプライマリHTAの目的ではありませんが、説明を簡略化しています)HTAのバグレポートを停止する(管理者権限なし)

問題は私がバグレポートを含むWebページを開こうとしているときです - HTAはページのバグページが正しく機能しなくなることさえあります。 (バグレポートは私が作成したページに関するものではありません!) 同じページがIEで完全に機能します。

タイトルと同様に、私またはHTAのユーザーのいずれかがシステム内で管理者特権を持っていないことが重要です。

私は長い間それをGoogle検索しましたが、解決策を見つけたことはありません。私は本当に問題のヒントや解決策を感謝します。

おかげで、 ロテム

+0

違反コードを投稿できますか?私は*あなたがやろうとしていることを見ている間に、実際のページコードが役に立ちます。また、 "私はバグを取得する" - 何*エラー*具体的には? – Piskvor

+0

あなたはどのコードを添付しますか?私のコードはそれらのエラーを作成しません、私がHTAから入るサイトはありません。バグは次のとおりです:Javascript error .. JavaScriptエラーのような通常のエラーです。 (このように私はオンラインで見つけた:http://www.1001bit.com/language_pack/v1.1/images/javascript-error-1.gif)もう一度ありがとう – Rotem

答えて

1

あなたはこの問題を回避するためにカップルのオプションがあります。最良の選択肢は、Internet Explorerの「すべてのスクリプトエラーについての通知を表示する」設定を無効にすることです。 HTAを実行しているので、プログラムでHKEY_CURRENT_USERレジストリ設定を変更することができます(または手動で一度だけ行います)。

第2のアプローチは、明らかにハックの多くですが、タブブラウザーを作成したときInternet Explorerがタブブラウズを行う前のHTAで。 iframe内のURLにナビゲートする代わりに、代わりにAJAXがコンテンツを要求し、window.onerrorをchosingの関数に設定するスクリプトブロックを追加します。その後、コンテンツ全体をiframeに挿入します。このアプローチは、あらゆるエラーを呑み込んで、希望どおりに報告するオプションを提供します。

onerrorスクリプトをインジェクトするだけでなく、後続のクリックがajaxインジェクションハンドラを介してルーティングされるようにアンカーで事前解析を行う必要があります。これは本質的にあなた自身のブラウザを書くことを始めるので、かなり複雑であることが判明しました。私はまだプロジェクトのソースコードを持っていますので、私はビットバケットレポに公開し、私のアプローチを探究しましょう。

最後のオプションは、各サイトの管理者に電子メールを送信して、彼らに不潔なバグを修正するように指示することです。 D

EDIT:

を、私は解決策は、それがために使用よりも実行可能であることを発見した古いプロジェクトをロードした後、私は、そのオプションがあなたのためにパンとは思えません。 x-frame-optionsヘッダーディレクティブは、IE8以降、google.comがiframeに読み込まれることを防止します。何らかの理由でwindow.onerrorトラップがiframe内のエラーをキャッチしていない(実際にネストされたiframeの問題かもしれませんが、実行可能な解決策はありません)。

しかし、エラーダイアログの "このメッセージを再度表示しない"オプションをチェックしてください。そのため、エラーダイアログは私の問題を報告しなくなり、管理者権限を必要としませんでした。

+0

ねえ、アイデアありがとう..私はうれしいよあなたのコードを見てください。最後のオプションは最高です! "そうしないと、最後のオプションは各サイトの管理者に電子メールを送信して、彼らに不気味のバグを修正するように言います!!!!しかし、私はそのオプションがあなたのために外に出るのではないかと疑っています。 – Rotem

関連する問題