博客
关于我
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
阅读量:274 次
发布时间:2019-03-01

本文共 917 字,大约阅读时间需要 3 分钟。

在使用jQuery Mobile开发Web应用时,页面跳转后外部JS未正常运行的问题确实是一个常见的挑战。以下是对该问题的分析及解决方案:

在jQuery Mobile中,页面跳转(pageA => pageB)时,仅将data-role="page"标签元素加载到当前页面中,而不会重新加载之前引入的外部JS文件或page标签外的JS代码。因此,head中引入的外部JS文件及page标签外的JS脚本在跳转后通常无法正常执行,除非页面被刷新。

解决方案

为了确保页面跳转后外部JS文件和page标签外的JS代码能够正常运行,可以采用以下两种方法:

  • 在index页面中注册所有需要使用的外部JS文件,或者使用母版页面来统一管理

    • 这种方法需要在主页面(index)中预先加载所有可能在子页面中使用的外部JS文件。
    • 例如,可以在index页面的head部分引入所有必要的外部JS文件,使其在页面初始化时被加载和解析。
    • 通过这种方式,可以确保即使页面跳转到其他页面,外部JS文件也已被正确加载和解析。
  • 将JS直接写在data-role="page"标签内

    • 这种方法直接将需要在每个页面中使用的JS代码嵌入到对应的data-role="page"标签中。
    • 这样,无论页面如何跳转,JS代码都会被加载和执行,因为它们已经被包含在当前页面的DOM中。
  • 示例

    A网页转跳到B网页,自动弹出正在加载的事件

    在A网页中添加一个超链接指向B网页:

    页眉文本

    页面一

    转到页面二

    页脚文本

    在B网页中添加一个显示加载器的JS脚本:

    页眉文本

    页面二

    页脚文本

    通过这种方法,页面跳转后,B网页中的JS脚本会被正确执行,自动弹出加载中的事件。

    转载地址:http://ydcx.baihongyu.com/

    你可能感兴趣的文章
    Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
    查看>>
    Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
    查看>>
    Node-RED怎样导出导入流程为json文件
    查看>>
    Node-RED订阅MQTT主题并调试数据
    查看>>
    Node-RED通过npm安装的方式对应卸载
    查看>>
    node-request模块
    查看>>
    node-static 任意文件读取漏洞复现(CVE-2023-26111)
    查看>>
    Node.js 8 中的 util.promisify的详解
    查看>>
    node.js debug在webstrom工具
    查看>>
    Node.js RESTful API如何使用?
    查看>>
    node.js url模块
    查看>>
    Node.js Web 模块的各种用法和常见场景
    查看>>
    Node.js 之 log4js 完全讲解
    查看>>
    Node.js 函数是什么样的?
    查看>>
    Node.js 函数计算如何突破启动瓶颈,优化启动速度
    查看>>
    Node.js 切近实战(七) 之Excel在线(文件&文件组)
    查看>>
    node.js 初体验
    查看>>
    Node.js 历史
    查看>>
    Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
    查看>>
    Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
    查看>>