博客
关于我
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/

    你可能感兴趣的文章
    POJ1502(MPI Maelstrom)
    查看>>
    poj1568 Find the Winning Move[极大极小搜索+alpha-beta剪枝]
    查看>>
    poj1730 - Perfect Pth Powers(完全平方数)(水题)
    查看>>
    poj1753——Flip Game
    查看>>
    poj1936 假期计划第一水
    查看>>
    poj1958-汉诺四塔问题(三种方法)
    查看>>
    poj1988(并查集)
    查看>>
    POJ2007+几何+极角排序
    查看>>
    poj2039
    查看>>
    poj2135(简单的最小费用流问题)
    查看>>
    poj2195 bfs+最小权匹配
    查看>>
    POJ2251
    查看>>
    POJ2253-Frogger
    查看>>
    poj2309
    查看>>
    POJ2390 Bank Interest【水题】
    查看>>
    poj2398
    查看>>
    poj2478欧拉函数
    查看>>
    poj2546
    查看>>
    POJ2728 Desert King
    查看>>
    POJ2794 Double Patience[离散概率 状压DP]
    查看>>