解决YII2使用pajx切换后js/jq不加载的问题,2020年最新版本

针对Pajx作者因安全考虑屏蔽的功能,本文提供了详细的解决方案,通过特定的PHP代码实现无刷新切换按钮,并确保外部JS文件的正确加载,避免了恶意脚本注入风险。

国外大佬们在众所周知的开发论坛吵个不可开交,但是pajx作者很淡定的认为基于安全考虑,pajx切换后有写入恶意脚本的可能,所以就屏蔽了这个功能,但是并不是说不可能加载了,不像网上很多人说的内联外联的问题。

具体解决方案

在你pajx结尾处的里面 加上

<?php Pjax::begin(['enablePushState' => false, 'id' => 'xxx', 'timeout' => false]); ?>
<div class='xxx'>无刷新切换按钮 代码块 </div>

<div id='foreach_content'><!--循环部分-->
...
</div>

<script>
...

$().ready(function () {//jq需要加上
var script = document.createElement("script");
script.src = "/assets/js/is.js";   //此处是我的js(切换后不运行的那个)
var body = document.body;
body.insertBefore(script, body.firstChild);
});//jq需要加上
</script>
...
<?php Pjax::end(); ?>
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值