我有一个OOB silverlight应用程序。我安装了Silverlight 5开发人员运行时和所有Silverlight 5开发人员工具。 OOB应用程序有一个Silverlight视图,上面有一个WebBrowser控件。 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中运行时,它可以正常工作。链接使Div称为“hiddenDiv”隐藏和显示。当它在Silverlight应用程序中的WebBrowser控件中显示时,它在另一个开发人员的计算机上工作正常,但在我的机器上则没有。我点击链接,没有任何反应。似乎javascript根本不执行。它似乎只使用href = javascript方法来解决这个问题。 onclick很棒。不幸的是,我没有想要在我的应用中显示的页面,也无法更改代码。
我的一位同事认为,这个问题可能是由于我错误地安装了标准的silverlight 5运行时,然后才意识到我的错误并安装了开发人员运行时。即使我已删除违规文件并重新安装Silverlight5 Tools.exe。事实上,我卸载并重新安装了所有与Silverlight相关的产品(VS 2010除外)并卸载了IE 9.但都无济于事。
如果有人对此问题有任何其他信息,请告诉我们。我们需要一个不涉及修改html的解决方案。我不控制那个HTML。我希望在我的OOB SL应用程序中嵌入一个外部Web应用程序,只需将其显示在我的应用程序内的Web浏览器控件中即可。