修复 WP 弹跳 IBM MobileFirst 6.3
Posted
技术标签:
【中文标题】修复 WP 弹跳 IBM MobileFirst 6.3【英文标题】:Fix WP Bouncing IBM MobileFirst 6.3 【发布时间】:2015-12-07 06:21:34 【问题描述】:我找到了修复 WP 在 cordova 中弹跳的插件: https://github.com/vilic/cordova-plugin-fix-wp-bouncing
我想在我的 MFP 项目中实现该插件。
本机代码:
void border_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
browser.InvokeScript("eval", "FixWPBouncing.onmanipulationcompleted()");
javascript 代码:
exports.onmanipulationcompleted = function ()
exports.target = null;
;
exports.fix = function (target)
if (!POINTER_DOWN) return;
if (!(target instanceof htmlElement) && target.length)
target = target[0];
target.addEventListener(POINTER_DOWN, function () exports.target = target; , false); ;
插件.xml:
<js-module src="www/fix-wp-bouncing.js" name="fix-wp-bouncing">
<clobbers target="FixWPBouncing" />
</js-module>
<!-- windows phone 8 -->
<platform name="wp8">
<config-file target="config.xml" parent="/*">
<feature name="FixWPBouncing">
<param name="wp-package" value="FixWPBouncing"/>
<param name="onload" value="true" />
</feature>
</config-file>
如何打电话:
// call fix after deviceready.
var wrapper = document.getElementById('an-element-that-scrolls');
FixWPBouncing.fix(wrapper);
// I don’t have any idea where i must write this code below :
declare module FixWPBouncing
/** when target is a JQuery, it process the first element only. */
export function fix(target: HTMLElement|JQuery): void;
从上面的代码,这是我的解释:
call FixWPBouncing.fix(wrapper);
=> 它会调用javascript函数exports.fix,这个函数的目的是在我们触摸元素时添加事件监听器。
本机代码void border_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
中的监听器会触发javascript代码exports.onmanipulationcompleted
<param name="onload" value="true" />
=>这个配置的目的,是自动加载Native Code,所以我不需要调用cordova.exec
正因为如此,我认为整合 javascript 代码和本机代码,我需要:
<js-module src="www/fix-wp-bouncing.js" name="fix-wp-bouncing">
<clobbers target="FixWPBouncing" />
</js-module>
所以原生代码监听器总是会触发 javascript 代码。
我对更改逻辑感到困惑:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-6-3/adding-native-functionality/windows-phone-8-adding-native-functionality-hybrid-application-apache-cordova-plugin/
因为从那个链接,我们用cordova.exec 调用本机。 不带自动加载并自动触发 javascript 代码。 如果我错了,请纠正我。
您有什么想法可以在 MFP 项目中实施:https://github.com/vilic/cordova-plugin-fix-wp-bouncing?
【问题讨论】:
【参考方案1】:如果您在混合应用程序中实施 Cordova 插件,则必须按照 MobileFirst Platform Developer Center 教程中提供的说明进行操作。
未经测试/支持根据其他指令实现它。
当然,您始终可以选择在 MobileFirst Platform Foundation 7.1 中使用“纯”Cordova 应用程序,无需执行任何与 MPF 相关的操作,而是遵循标准的 Cordova 程序。
【讨论】:
以上是关于修复 WP 弹跳 IBM MobileFirst 6.3的主要内容,如果未能解决你的问题,请参考以下文章