QQ爹の博客 QQ爹の博客

APlayer Typecho插件兼容instantclick.js

in 代码相关 文章转载请注明来源!

APlayer Typecho插件

https://github.com/FaithPatrick/APlayer-Typecho-Plugin

instantclick 3.0.1版兼容

方法来自https://muguang.me/php/typecho-theme-apollo.html

将预加载的执行代码

<script data-no-instant>
InstantClick.init();
</script>

改为

<script data-no-instant>
        if (!window.audios) {
            audios = [];
            for (var i = 0; i < APlayers.length; i++) {
                audios[i] = APlayers[i].audio;
            }
        }
        InstantClick.on('change', function (isInitialLoad) {
            for (var i = 0; i < APlayers.length; i++) {
                audios.push(APlayers[i].audio);
            }
            for(var i = 0; i < audios.length; i++) {if(audios[i]){audios[i].pause()}};
        });
        InstantClick.init();
</script>
<script>var APlayerOptions = [];</script>//如果无效果尝试删掉这行

instantclick 3.1.0版兼容[不完美]

这个是我参考上边的瞎弄弄出来的,虽然完全看不懂QAQ。。。

打开插件的plugin.php将里面的

<script>
var len = APlayerOptions.length;
for(var i=0;i<len;i++){
    if(document.getElementById('player' + APlayerOptions[i]['id'])) {
        APlayers[i] = new APlayer({
            element: document.getElementById('player' + APlayerOptions[i]['id']),
            narrow: false,
            preload: APlayerOptions[i]['preload'],
            mutex: APlayerOptions[i]['mutex'],
            autoplay: APlayerOptions[i]['autoplay'],
            showlrc: APlayerOptions[i]['showlrc'],
            music: APlayerOptions[i]['music'],
            theme: APlayerOptions[i]['theme']
            });
        //APlayers[i].init();
    }
}
</script>

改为

<script data-no-instant>//就是这里有修改,其他都没动
var len = APlayerOptions.length;
for(var i=0;i<len;i++){
    if(document.getElementById('player' + APlayerOptions[i]['id'])) {
        APlayers[i] = new APlayer({
            element: document.getElementById('player' + APlayerOptions[i]['id']),
            narrow: false,
            preload: APlayerOptions[i]['preload'],
            mutex: APlayerOptions[i]['mutex'],
            autoplay: APlayerOptions[i]['autoplay'],
            showlrc: APlayerOptions[i]['showlrc'],
            music: APlayerOptions[i]['music'],
            theme: APlayerOptions[i]['theme']
            });
        //APlayers[i].init();
    }
}
</script>

将预加载的执行代码

<script data-no-instant>
InstantClick.init();
</script>

改为

<script data-no-instant>
      if (!window.audios) {
            audios = [];
            for (var i = 0; i < APlayers.length; i++) {
                audios[i] = APlayers[i].audio;
            }
        }
InstantClick.on('change', function(isInitialLoad) {
 if (isInitialLoad === false) {
var len = APlayerOptions.length;
for(var i=0;i<len;i++){
    if(document.getElementById('player' + APlayerOptions[i]['id'])) {
        APlayers[i] = new APlayer({
            element: document.getElementById('player' + APlayerOptions[i]['id']),
            narrow: false,
            preload: APlayerOptions[i]['preload'],
            mutex: APlayerOptions[i]['mutex'],
            autoplay: APlayerOptions[i]['autoplay'],
            showlrc: APlayerOptions[i]['showlrc'],
            music: APlayerOptions[i]['music'],
            theme: APlayerOptions[i]['theme']
            });
        //APlayers[i].init();
    }
} 
for (var i = 0; i < APlayers.length; i++) {audios.push(APlayers[i].audio);}
for(var i = 0; i < audios.length; i++) {if(audios[i]){audios[i].pause()}};
  }
});
InstantClick.init();</script>
jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

版权声明:本文基于《知识共享署名-相同方式共享 3.0 中国大陆许可协议》发布,转载请遵循本协议
文章链接:https://qqdie.com/archives/aplayer-instantclick.html (转载时请注明本文出处及文章链接)

instantclickAPlayer兼容
发表新评论
已有 30 条评论
  1. 悦悦
    悦悦Windows 7谷歌浏览器
    回复

    评论似乎不错

    1. Jrotty
      Jrotty本文作者Linux谷歌浏览器
      回复

      @悦悦 瞎改的,动画直接用gif,感觉超级省劲233

  2. 三秋
    三秋Windows 7UC浏览器
    回复

    歌好听,插件改的嘛.........还是不错滴!(bujiyige)不稽的笑

    1. Jrotty
      Jrotty本文作者Linux谷歌浏览器
      回复

      @三秋 被楼下的大袋鼠揭露个bug233,难受

  3. c0smxsec
    c0smxsecLinux谷歌浏览器
    回复

    被做主题耽误的插件大佬。

  4. Mr.Li
    Mr.LiMac OS X谷歌浏览器
    回复

    膜拜技术大牛

  5. OC4
    OC4Android M谷歌浏览器
    回复

    专辑里的音乐多了,有的加载不出来…

    1. Jrotty
      Jrotty本文作者Linux谷歌浏览器
      回复

      @OC4 部分歌曲部分地区没有版权233

  6. 大袋鼠
    大袋鼠Mac OS X谷歌浏览器
    回复

    偶然被我发现了个小问题。
    复现:播放歌曲 -> 查看第二页评论
    然后尝试跳转到其他页面,音乐会持续播放。

    1. Jrotty
      Jrotty本文作者Linux谷歌浏览器
      回复

      @大袋鼠 其实bug是这样的,播放歌曲 -> 查看第二页评论,歌曲会停止,因为评论翻页用的是预加载的东西搞出来的,不是ajax翻页,以后在想怎么搞

      1. 大袋鼠
        大袋鼠Mac OS X谷歌浏览器
        回复

        @Jrotty 歌曲并不会停止啊。

        1. Jrotty
          Jrotty本文作者Linux谷歌浏览器
          回复

          @大袋鼠 我测试评论翻页时,歌曲就停了呀

          1. 大袋鼠
            大袋鼠Mac OS X谷歌浏览器
            回复

            @Jrotty 我又看了下,单曲会停,歌单不会。

            1. Jrotty
              Jrotty本文作者Linux谷歌浏览器
              回复

              @大袋鼠 还真是,尴尬,我在试试怎么解决

PREVIOUS NEXT
雷姆
拉姆
0:00