Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Nativescript和普通JS中禁用iOS收缩缩放和双击缩放_Javascript_Ios_Nativescript_Zooming_Pinchzoom - Fatal编程技术网

Javascript 如何在Nativescript和普通JS中禁用iOS收缩缩放和双击缩放

Javascript 如何在Nativescript和普通JS中禁用iOS收缩缩放和双击缩放,javascript,ios,nativescript,zooming,pinchzoom,Javascript,Ios,Nativescript,Zooming,Pinchzoom,对于一个用纯JS编写的Nativescript web应用程序,我在iOS上禁用缩放功能失败。似乎有针对这个问题的TypeScript解决方案,但我还没有能够在JS中实现相同的策略 (1) 类似这样,但在普通JS中: NativeScript有一种方法可以对Objective-C类进行子类化,并公开方法: …这似乎可以通过扩展UIViewController(2)来实现: …但我对代表们的参与方式感到困惑 我觉得这两种策略中的任何一种都应该起作用,但是对于(1)我不确定如何将所有那些declar

对于一个用纯JS编写的Nativescript web应用程序,我在iOS上禁用缩放功能失败。似乎有针对这个问题的TypeScript解决方案,但我还没有能够在JS中实现相同的策略

(1) 类似这样,但在普通JS中:

NativeScript有一种方法可以对Objective-C类进行子类化,并公开方法:

…这似乎可以通过扩展
UIViewController
(2)来实现:

…但我对代表们的参与方式感到困惑

我觉得这两种策略中的任何一种都应该起作用,但是对于(1)我不确定如何将所有那些
declare var
类转换为TS免费获得的JS。策略(2)方面,我完全不适应


有没有nativeScripter?

您只需从原始代码中删除打字,然后就可以使用JavaScript了

let WebView = require("tns-core-modules/ui/web-view").WebView;

WebView.prototype.createNativeView = function () {
    let jScript = `var meta = document.createElement('meta');
    meta.setAttribute('name', 'viewport');
    meta.setAttribute('content', 'initial-scale=1.0 maximum-scale=1.0');
    document.getElementsByTagName('head')[0].appendChild(meta);`;
    const wkUScript = WKUserScript.alloc().initWithSourceInjectionTimeForMainFrameOnly(jScript, WKUserScriptInjectionTime.AtDocumentEnd, true);
    const wkUController = WKUserContentController.new();
    wkUController.addUserScript(wkUScript);
    const configuration = WKWebViewConfiguration.new();
    configuration.userContentController = wkUController;
    configuration.preferences.setValueForKey(
        true,
        "allowFileAccessFromFileURLs"
    );
    return new WKWebView({
        frame: CGRectZero,
        configuration: configuration
    });
};


注意:记住添加平台检查,如果在Android上运行此iOS特定代码,应用程序将中断。

谢谢Manoj。这肯定也适用于我的iPhone。谢谢你两次回答同样的问题!非常感谢。