jquery mobile框架,用超链接定位到其他页面,会出现不能跳转或者跳转后页面js代码不能执行现象

I only use English to share this boke beacuse my shurufa is bed

oh 输入法又好了

 

今天做项目,碰到一个问题,我点一个超链接,页面成功跳转了,但是跳转后的页面里面的js代码并没有去执行。查看页面源代码,居然页面源代码还是上一个页面的。刷新一次页面,js代码成功执行了,源代码也定位到超链接的页面了

这就奇怪了,为什么页面跳转了,页面源代码怎么还是上个页面的源代码那,源代码没有跳转,这是js未执行的主要原因。只要把源代码能成功刷新到超链接的页面,那么页面的js肯定就执行了。

原因解释:

因为项目里应用了jquery mobile框架(这种框架 真的没有什么用处,但是公司真的没有人能做出好看的页面来,所以也就只能用这框架,直接用这上面的框架主题了。而且还能提高开发效率,一个页面的大体框架只要几行代码就能搞定,我就不细细评论这个框架了)。用了这个框架后,再用<a>标签,会默认这个超链接是采用ajax请求的,因为用ajax请求,当然源代码还是以前页面的源代码。

但这个地方还挺让人蛋疼的,说是用ajax请求的吧,页面还跳转到了新的页面,唯一证明他是用ajxa请求的,是因为源代码确实是以前页面的源代码,源代码并没有跳转,源代码都没有换,那肯定的里面的js也不会执行了。当然我们也不用纠结这些了。毕竟这些都是封装了框架里面的,到底当时写这个框架的人脑子里怎么想的,我们也不知道。这个问题的解决方法就是为这个超链接加一个 rel="external" 或者 data-ajax="false" 属性值,让他不要去用默认的ajax跳转 。另外我们在用<form>表单时,如果你不想用ajax请求,这个也要加上,不然也是默认的ajax请求。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值