【问题标题】:a href onclick not working in windows phone cordova app一个 href onclick 在 Windows Phone Cordova 应用程序中不起作用
【发布时间】:2016-05-11 21:05:11
【问题描述】:

我使用 winstore-jscompat.js 进行 js 修复。下面的代码生成子类别。 但它不调用 parseSubCategory 函数。

            $.each(category.sub_categories, function(index2, subcategory) {
                   var subCatName = subcategory.name;
                   $("#test-listview" + index).append('<li><a onclick=\"parseSubCategory(' + subcategory.id + ',\'' + subCatName + '\');\" href="#product_List">' + subcategory.name + '</a></li>');

             });

编辑:

这在 ios 和 android 上运行良好,但在 windows 手机上却不行

【问题讨论】:

  • 我建议你使用一些调试工具,比如jshybugger,现在它就像阅读茶叶一样......
  • 对我来说没问题,jsfiddle.net/dg1ewoh9,检查你的子程序 parseSubCategory
  • 此代码在 android 和 ios 上完美运行,我的问题是,这不适用于 Windows 手机。
  • 对我来说同样的问题:似乎 href 不适用于 WP
  • @Starnutoditopo 我已经发布了这个问题的答案。它对我有用。

标签: javascript cordova windows-phone-8.1


【解决方案1】:

问题是由于从外部来源提取可能不安全的内容而发生的。我们可以修改 jquery 源并忽略它。我在这里找到了解决方案。

https://www.incloud.de/2012/08/windows-8-using-jquery-for-app-development/

它对我有用。

【讨论】:

  • 在每个单独的 onclick 事件之前插入 MSApp.execUnsafeLocalFunction 对于大型应用程序来说是不现实的。有没有更合理的解决方案?根本没有 onclick 事件起作用,这非常令人沮丧。
【解决方案2】:

自定义元标记中的内容安全策略:

http-equiv="Content-Security-Policy"

根据需要。将 unsafe-inline 添加到 default-src 以启用内联 JavaScript。

详情见http://go.microsoft.com/fwlink/?LinkID=617521

【讨论】:

  • unsafe-inline 技巧适用于静态内容,但不适用于动态创建的按钮和东西(使用 jquery)。任何想法为什么会发生这种情况?它适用于 WP8 平台,不再适用于 Windows 平台(来自 Cordova)。谢谢。
猜你喜欢
  • 2014-08-08
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多