Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pjax 兼容问题 #158

Closed
antct opened this issue Feb 19, 2019 · 10 comments
Closed

pjax 兼容问题 #158

antct opened this issue Feb 19, 2019 · 10 comments
Labels

Comments

@antct
Copy link

antct commented Feb 19, 2019

您好,暂时遇到了pjax兼容的问题。
查看了几个类似的issue,有这样的疑问。
因为不清楚valine是具体怎样实现的,对于 #138 中提到的av不能重新初始化问题不太理解。
我觉得av初始化之后,可以设置一个添加评论的函数,一个参数是url,一个参数是对应的评论。然后进入不同的页面也拉取对应当前url的评论这样~

@DesertsP
Copy link

DesertsP commented Mar 3, 2019

这里给出了PJAX兼容问题的解决,可以参考修改:https://deserts.io/diy-a-comment-system/

@antct
Copy link
Author

antct commented Mar 4, 2019

我尝试了一下这个方法,没能成功,还是会出现在一个帖子回复了,另一个帖子也会显示该回复这个问题

@DesertsP
Copy link

DesertsP commented Mar 4, 2019

因为获取到的路径不对。你可以试试我的Valine.min.js或者参考我开源的代码去修改你的JS文件

@antct
Copy link
Author

antct commented Mar 4, 2019

您好,尝试了您的valine之后的确可以,期待后续能合并到valine当中。

@xCss
Copy link
Owner

xCss commented Apr 1, 2019

@96486d9b
新的解决方案:

  1. <head>中加载AV文件Valine文件
  2. 正确填写Valine配置
<!doctype html>
<html>
<head>
<!-- 你的代码(请确保已加载jQuery) -->

<!-- 在head中加载AV文件和Valine文件 -->
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
</head>
<body>
<div  id="pjax-box">
    <!-- 你的文章内容 -->

    <!-- Comments -->
    <div class="comment"></div>
      <script>
          new Valine({
              el: '.comment' ,
              notify: false, 
              verify: false, 
              appId: 'your appId',
              appKey: 'your appKey',
              placeholder: 'Just Go Go',
              path: window.location.pathname // **请确保必须写该属性
          });
      </script>
</div>
<script>
    // **请确认你的jQuery库已加载
    $(document).pjax('a', '#pjax-box', {fragment:'#pjax-box', timeout:8000}).on('pjax:complete', function() {
        // pjax 加载完成要做的操作
    }).on('pjax:start', function() { 
      // pjax 加载开始需要做的操作 比如 NProgress.start();
    }).on('pjax:end',   function() {
      // pjax 加载结束需要做的操作 比如 NProgress.done();
      // 其他操作;
    });
</script>
</body>
</html>

@antct
Copy link
Author

antct commented Apr 1, 2019

@96486d9b
新的解决方案:

  1. <head>中加载AV文件Valine文件
  2. 正确填写Valine配置
<!doctype html>
<html>
<head>
<!-- 你的代码(请确保已加载jQuery) -->

<!-- 在head中加载AV文件和Valine文件 -->
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
</head>
<body>
<div  id="pjax-box">
    <!-- 你的文章内容 -->

    <!-- Comments -->
    <div class="comment"></div>
      <script>
          new Valine({
              el: '.comment' ,
              notify: false, 
              verify: false, 
              appId: 'your appId',
              appKey: 'your appKey',
              placeholder: 'Just Go Go',
              path: window.location.pathname // **请确保必须写该属性
          });
      </script>
</div>
<script>
    // **请确认你的jQuery库已加载
    $(document).pjax('a', '#pjax-box', {fragment:'#pjax-box', timeout:8000}).on('pjax:complete', function() {
        // pjax 加载完成要做的操作
    }).on('pjax:start', function() { 
      // pjax 加载开始需要做的操作 比如 NProgress.start();
    }).on('pjax:end',   function() {
      // pjax 加载结束需要做的操作 比如 NProgress.done();
      // 其他操作;
    });
</script>
</body>
</html>

按照这个配置,试了一下,切换页面之后没法显示出来欸,两种配置方式都试过了,直接new和init~

@xCss
Copy link
Owner

xCss commented Apr 1, 2019

用这个文件试下,线上版本貌似还有点问题,我在修改,然后留下预览地址~~

小伙伴 @sxyugao 已经测试通过了~

Valine.min.zip

v1.3.6 已更新 2019.04.01

@sxyugao
Copy link

sxyugao commented Apr 1, 2019

喵喵喵?

@xCss xCss added the pjax label Apr 1, 2019
@antct
Copy link
Author

antct commented Apr 1, 2019

用这个文件试下,线上版本貌似还有点问题,我在修改,然后留下预览地址~~

小伙伴 @sxyugao 已经测试通过了~

Valine.min.zip

用这个提供的文件是可以的欸,谢谢~

@xCss
Copy link
Owner

xCss commented Apr 1, 2019

用这个文件试下,线上版本貌似还有点问题,我在修改,然后留下预览地址~~
小伙伴 @sxyugao 已经测试通过了~
Valine.min.zip

用这个提供的文件是可以的欸,谢谢~

新版本v1.3.6已经更新,请耐心等待CDN生效,更新日志请查看 Valine/releases

@xCss xCss closed this as completed Apr 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants