繁体   English   中英

Prism.js不使用Rails 4 turbolinks

[英]Prism.js not working with Rails 4 turbolinks

我发现当我使用Prism.js语法highliting与Turbolinks组合突出显示行为奇怪。

当我加载第一次突出显示语法的页面时,Prism.js不会被触发,也没有突出显示任何内容。 重新加载同一页后,Prism将启动并高亮显示代码。 除非我更改位置(转到root)并返回到它(在相同的场景之后),否则页面将在此之后保持突出显示

当我从我的清单文件( application.js )中删除Turbolinks时,一切正常(当然Turbolinks没有做任何事情)

我不想用

= link_to "Foo", blogs_path(blog), "data-no-turbolink" => true 

因为我必须在每一个链接上使用它(每个博客都会有一些代码高亮),因此根本没有任何关于turbolinks的观点

我试图使用Turbolings事件,page:change但是我对纯JavaScript很糟糕(Prism.js是纯JS而我是jQuery junky)

所以任何人都知道如何告诉Turbolinks触发Prism.js语法高位?

我最近遇到了同样的问题,我发现的修复是在页面加载后重新运行Prism。 我使用了Turbolinks页面:load event来触发这个。

在Coffeescript中:

$(document).on 'ready page:load', ->
    Prism.highlightAll()

或者在普通JS中:

$(document).on('ready page:load', function() {
    Prism.highlightAll();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM