从本地存储的HTML页面访问在线Silverlight应用程序



我有一个关于从本地存储在C:/驱动器上的HTML页面访问在线Silverlight XAP文件的问题。我将需要Silverlight应用程序访问一个大文件,我宁愿存储在客户端机器上,以加快整个过程。我想做的是在客户端的硬盘驱动器上编写HTML文件,其中嵌入所需的内容,这反过来将触发Silverlight应用程序,谁将能够访问DOM中的数据。

这在Visual Studio中工作,但是当我在本地创建HTML页面并打开它时,Silverlight应用程序没有运行。要么应用程序不运行,页面是空的,要么通知我需要安装Silverlight,即使它已经安装了。

我知道将Silverlight应用程序作为受信任的应用程序运行将允许访问硬盘,但我正在探索在此过程中不需要任何用户输入的选项。

我已经尝试使用JavaScript动态添加Silverlight部分到网页,但这没有工作。我也遇到同样的问题。JavaScript代码如下,我已经在一个在线位置测试过了,Silverlight已经在那里启动了。

    function applyChanges(){ 
  var theDiv = document.getElementById("silverlightControlHost");
  theDiv.innerHTML = '<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"><param name="source" value="http://online.company.net/ClientBin/company_xap.xap"/><param name="onError" value="onSilverlightError" /><param name="background" value="white" /><param name="minRuntimeVersion" value="4.0.60310.0" /><param name="autoUpgrade" value="true" /><param name="enableHtmlAccess" value="true" /><a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.60310.0" style="text-decoration:none"><img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/></a></object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>';
}

我已经能够使用嵌入在本地HTML文件中的iframe连接到应用程序,但这限制了我为了拉出所需的内容而对DOM所需的访问。

我也试过在Windows窗体应用程序中从内存中将HTML内容加载到WebBrowser控件中,但是当其余的HTML显示时,Silverlight应用程序仍然缺失。

有没有办法从本地HTML文件访问在线Silverlight应用程序?

我不知道为什么它不能从本地html加载但是这里有一些可以帮助你的解决方法

  • 在你的客户端iis中托管你的html,如果这是适用的,似乎工作得很好。

如果不可能,试试

  • 首先创建一个html页面,该页面将在托管xap文件的服务器上加载xap文件

在本地HTML文件中加载HTML页面到iframe中,像这样

   <iframe **id="xapHost"** src="http://astrocoder.com/BlogFiles/Silverlight/test.html?id=5" 
    frameborder="0" 
    style="width:500px;height:500px">

要用自定义参数加载xap文件,您可以像上面的url一样在iframe src url中添加查询字符串参数,并且在JavaScript中可以检索这些值并使用新参数构建对象。

要在JavaScript中读取查询字符串值,请检查此问题并动态更改iframe src,您可以这样做

document.getElementById('xapHost').src = "http://astrocoder.com/BlogFiles/Silverlight/test.html?id=6&anyparam=anything";

我希望这对你有帮助

相关内容

  • 没有找到相关文章

最新更新