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

    你可能感兴趣的文章
    npm学习(十一)之package-lock.json
    查看>>
    npm安装crypto-js 如何安装crypto-js, python爬虫安装加解密插件 找不到模块crypto-js python报错解决丢失crypto-js模块
    查看>>
    npm报错unable to access ‘https://github.com/sohee-lee7/Squire.git/‘
    查看>>
    npm的常用配置项---npm工作笔记004
    查看>>
    npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
    查看>>
    npm编译报错You may need an additional loader to handle the result of these loaders
    查看>>
    npm配置安装最新淘宝镜像,旧镜像会errror
    查看>>
    npm错误Error: Cannot find module ‘postcss-loader‘
    查看>>
    NPOI之Excel——合并单元格、设置样式、输入公式
    查看>>
    NPOI利用多任务模式分批写入多个Excel
    查看>>
    NPOI在Excel中插入图片
    查看>>
    NPOI格式设置
    查看>>
    Npp删除选中行的Macro录制方式
    查看>>
    NR,NF,FNR
    查看>>
    nrf开发笔记一开发软件
    查看>>
    NS3 IP首部校验和
    查看>>
    NSDateFormatter的替代方法
    查看>>
    NSError 的使用方法
    查看>>
    nsis 安装脚本示例(转)
    查看>>
    NSJSON的用法(oc系统自带的解析方法)
    查看>>