修复WP Bouncing IBM MobileFirst 6.3

时间:2015-12-07 06:21:34

标签: windows-phone-8 ibm-mobilefirst

我找到了修复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); };

plugin.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;
}

从上面的代码中,这是我的解释:

  1. call FixWPBouncing.fix(wrapper); =&gt;它会调用javascript函数exports.fix,这个函数的目的是在触摸元素时添加事件监听器。

  2. 原生代码void border_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)中的侦听器将触发javascript代码exports.onmanipulationcompleted

  3. <param name="onload" value="true" /> =&gt;这个配置的目的是自动加载本机代码,所以我不需要调用cordova.exec

  4. 因此,我认为要集成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 个答案:

答案 0 :(得分:0)

如果要在Hybrid应用程序中实现Cordova插件,则必须遵循MobileFirst Platform Developer Center教程中提供的说明。

未经测试/支持基于其他指令实施它。

当然,你总是可以选择使用&#34; pure&#34; Cordova在MobileFirst Platform Foundation中的应用 7.1 ,无需通过与MPF相关的任何事情,而是遵循标准的Cordova程序。