npm 包 cordova-plugin-hijack-webview-link-click 使用教程

阅读时长 5 分钟读完

引言

对于我们前端开发者来说,移动端开发是我们重要的任务之一。而 cordova 是一个方便开发者快速开发移动端应用的工具,我们可以通过它来打包我们的 web 应用程序。然而,与浏览器不同的是,移动端应用包含的 webview 是不支持 window.open 和 a 标签的 href 等操作打开系统浏览器的。这就导致了在开发一些需要外部网页的跳转的H5页面时,原本运行良好的h5页面在移动端webview中打开的时候会无法打开外部链接,用户体验不佳。为了解决这个问题,我们引入 cordova-plugin-hijack-webview-link-click 包。利用这个包,我们可以通过监听链接点击的方式自定义处理链接打开的行为,让它在应用内部打开。

安装

安装 cordova-plugin-hijack-webview-link-click 包,可以通过 npm 命令:

使用

Step 1

在你的 Cordova 项目中添加 cordova-plugin-hijack-webview-link-click 插件:

Step 2

deviceready 回调中执行 HijackWebviewLinkClick.init() 以启用插件。

Step 3

HijackWebviewLinkClick.init() 之后,所有新打开的窗口都将被重定向到应用的 WebView 。但是,如果你想自己处理某些链接,你需要使用 HijackWebviewLinkClick.open(url) 手动打开这些链接。例如,下面的代码演示了如何处理所有以 example.com 开头的链接。

示例代码

-- -------------------- ---- -------
--------- -----
------
------
    ----------------------------------------------- ------------
    ----- ----------------
    ----- --------------- ---------------------------- -----------------
    ------- --------------------------
    --------
        ---------------------------------------- ---------- -
            ------------------------------
            ----------------------------------------------------- -----------
        -- -------
        ---------------------------------- ----------- -
            -------------------
            -- ------------------------------------- --- -- -
                -------------------------------------------
            - ---- -
                -------------------------- ----------
            -
        ---
    ---------
-------
------
    -------------------------------------------- ---------
    --------- ---------------------------------------- ---------- ------------------------ -----------------------------------
    ----- ------------------------------------------ ----------
    ----- -------------------------------------- ----------
-------
-------
展开代码

结语

通过本文的介绍,我们学习到了利用 cordova-plugin-hijack-webview-link-click 包来解决在移动端 webview 中无法打开外部链接的问题。只要记住相应的用法,我们就能够帮助自己开发高质量的移动应用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005653681e8991b448e1aa3

纠错
反馈

纠错反馈