我可以在没有代码的情况下创建兼容浏览器的Silverlight页面吗?

时间:2009-07-07 11:05:29

标签: javascript silverlight xaml code-behind xap

我一直在使用xaml,javascript和html开发一个silverlight页面(我实际上只有.html,.js和.xaml文件)。问题是,我刚刚意识到它不能在任何浏览器中工作,除了Internet Explorer(肯定是7)。

我有太多的代码行想要添加vb.net或visual c代码并使用html桥。我只是希望xaml鼠标事件像以前一样直接工作。换句话说,当xaml的MouseLeftButtonDown显示“highlightMe”时,我希望highlightMe函数是一个javascript函数。但我也希望我的页面可以在任何浏览器中使用。

现在,我已经开始使用vb.net或visual c.net创建一个全新的视觉工作室项目,但xaml文件事件似乎指向事件背后的代码。此外,它将silverlight编译为.XAP文件。 XAP文件实际上是一个带有已编译的dll和appmanifest.xaml的.ZIP文件。

那么,如何配置我的appManifest.xaml来处理只有javascript和xaml的Silverlight页面(以及指向.XAP作为源的html文件)。 html部分,我认为我理解。 AppManifest是一个不同的故事,我肯定需要帮助。

我认为它与创建app.xaml和page.xaml以及使用主标记的x:Class值有关。

1 个答案:

答案 0 :(得分:0)

自从我问这个问题后,我找到了一个页面......

http://pagebrooks.com/archive/2009/02/19/custom-loading-screens-in-silverlight.aspx

... 1)显示人们最近使用类似的.js.xaml.html模型作为他们的银色页面,2)有人在评论中建议使用firebug来跟踪关于silverlight javascript错误的问题。

这向我证明了使用这种Silverlight模型是可以的,它应该适用于其他浏览器。这也让我去尝试 firebug 。 Firebug太棒了。如果启用控制台选项卡,则可以确切地看到javascript挂起的位置。现在它正在运行,我可以看到我的gets/posts到谷歌应用引擎的结果。

Firebug显示我正在使用if then else语句,只有 Internet explorer 允许。例如,

if (blah == 1) { blah2 = 3}

else { blah2 = 5};

适用于所有浏览器,但不会:

if (blah == 1) { blah2 = 3} ;

else { blah2 = 5};

Firefox和 chrome safari 显然都需要那里不是一个; else和if之间的结束语句字符。

所以,目前,我似乎已经解决了跨浏览器兼容性问题,但我仍然想了解更多关于appmanifest.xaml以及如何制作.xap文件的信息。 javascript。我可能稍后需要它。