javascript - 我可以创建跨浏览器兼容的 silverlight 页面而无需隐藏代码吗?

标签 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 创建一个全新的 Visual Studio 项目,但 xaml 文件事件似乎指向事件背后的代码。此外,它将 silverlight 编译成 .XAP 文件。 XAP 文件实际上是一个 .ZIP 文件,其中包含已编译的 dll 和 appmanifest.xaml。

那么,如何配置 appManifest.xaml 来处理仅包含 javascript 和 xaml 的 silverlight 页面(以及指向 .XAP 作为源的 html 文件)。 html部分,我想我明白了。 AppManifest 是另一回事,我绝对需要这方面的帮助。

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

最佳答案

自从我问这个问题以来,我发现了一个页面...

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

...1) 展示了人们最近在他们的 silverlight 页面中使用了类似的 .js.xaml.html 模型2) 评论中有人建议使用 firebug 来追踪 silverlight javascript 错误的问题。

这向我证明了使用这种 silverlight 模型是可以的,并且它应该可以在其他浏览器中工作。这也让我去尝试firebug。 Firebug 太棒了。如果启用控制台选项卡,您可以准确地看到 javascript 挂起的位置。现在它可以工作了,我可以看到我的gets/posts到Google应用引擎的结果。

Firebug 表明我正在以只有 Internet Explorer 允许的方式使用 if then else 语句。例如,

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

else { blah2 = 5};

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

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

else { blah2 = 5};

Firefox 和 chrome 以及 safari 显然都需要不存在 ; else 和 if 之间的结束语句字符。

因此,目前我似乎已经解决了跨浏览器兼容性问题,但我仍然想了解有关 appmanifest.xaml 以及如何制作 仅包含 javascript 的 .xap 文件。我稍后可能会需要它。

关于javascript - 我可以创建跨浏览器兼容的 silverlight 页面而无需隐藏代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1091707/

相关文章:

转换网格布局

javascript - Google Places API 显示学校和商店

Javascript 臭名昭著的循环问题?

silverlight - Silverlight 中的自定义属性绑定(bind)

silverlight - 为什么我希望在 ContentControl 上将 IsTabStop 设置为 true?

c# - WPF/Xaml 将 DataGrid 列标题和单元格绑定(bind)到不同的值

javascript - 组合 jquery 函数 - on() hover/mouseenter/mouseleave

Javascript - If 语句 - 条件中的字符串 && bool 值

silverlight - Silverlight音频监控

wpf - 如何制作具有交替行颜色和固定颜色部分的 WPF DataGrid(忽略交替)