修复 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

    &lt;param name="onload" value="true" /&gt; =>这个配置的目的,是自动加载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的主要内容,如果未能解决你的问题,请参考以下文章

IBM-Mobilefirst 意外错误中的推送通知

IBM Mobilefirst 和 IBM Bluemix

IBM MobileFirst 证书固定

Bluemix 的 ibm-mobilefirst-starter 容器 - 添加新的 http 适配器不起作用

IBM MobileFirst 适配器调用 404

IBM MobileFirst 8.0 Neon 插件