0

OOBSilverlightアプリケーションがあります。Silverlight5開発者ランタイムとすべてのSilverlight5開発者ツールがインストールされています。OOBアプリケーションには、WebBrowserコントロールを備えたSilverlightビューがあります。webBrowserコントロールのソースは次のaspxページです。

<head>
    <title></title>
    <script type="text/javascript" language="javascript">

        function test() {
            if (hiddenDiv.style.display == "none")
                hiddenDiv.style.display = "block";
            else
                hiddenDiv.style.display = "none";
        }

        function handCursor() {
            clickTest.style.cursor = "hand";
        }
        function defaultCursor() {
            clickTest.style.cursor = "default";
        }

    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <%--This Link Doesn't Work--%>
        <a href="javascript: test()">Javascript Href test</a></br>


        <%--This Link Works--%>
        <a id="clickTest" onclick="test()" onmouseover="handCursor()" onmouseout="defaultCursor()" style="text-decoration: underline; color:Blue">OnClick Test</a>

            <div id="hiddenDiv" style="display:none; background-color:Black">
                <span style="color:White; display:inherit">Look at me!</span>
            </div>
    </div>
    </form></body>

(注:はい、上記のコードが完全なHTMLではないことを知っています。エディターにページ全体を正しく表示させることができませんでした。htmlタグを切り取りました。また、これは単なるテストページであり、実際のページではないことに注意してください。アプリに表示します。問題を特定しようとしていました)。

上記のコードをIE9で実行すると、問題なく動作します。リンクにより、「hiddenDiv」と呼ばれるDivが非表示および表示されます。SilverlightアプリのWebBrowserコントロールに表示されると、別の開発者のマシンでは正常に機能しますが、私のマシンでは機能しません。リンクをクリックしても何も起こりません。javascriptは単に実行されないようです。この問題は、href=javascriptメソッドを使用した場合にのみ発生するようです。onclickはうまく機能します。残念ながら、アプリに表示したいページを所有しておらず、コードを変更できません。

私の同僚は、この問題は、私の間違いに気づいて開発者ランタイムをインストールする前に、標準のSilverlight5ランタイムを誤ってインストールしたことが原因である可能性があると考えています。その後、問題のあるファイルを削除し、Silverlight5Tools.exeを再インストールしましたが。実際、私はすべてのSilverlight関連製品(VS 2010を除く)をアンインストールして再インストールし、IE9をアンインストールしました。

誰かがこの問題に関する追加情報を持っているなら、私に知らせてください。HTMLの変更を伴わないソリューションが必要です。私はそのhtmlを制御しません。アプリケーション内のWebブラウザーコントロールに表示するだけで、OOBSLアプリケーションに外部Webアプリケーションを埋め込むことを望んでいます。

4

1 に答える 1

0

私はこのスレッドでこの問題の答えを発見しました:

FEATURE_SCRIPTURL_MITIGATION

問題は、JavaScript実行の要素をオンまたはオフにするレジストリ設定です。このMSDNの記事でも説明されています。

于 2012-04-26T20:13:01.640 に答える