我将登录表单更改为" remote:true"后,我有一些奇怪的行为。 之前,在登录成功之后,我将redirect_to发送到另一个页面,该页面在正文中执行Javascript。
<script>
writeCookie();
</script>
Javascript通过特定于视图的咖啡文件加载
#= require write_time_zone_cookie
writeCookie()按预期工作,但在我将登录表单更改为&#34; remote:true&#34;我在redirect_to之后得到一个JS错误。
Uncaught ReferenceError: writeCookie is not defined
at HTMLDocument.<anonymous> (<anonymous>:4:11)
at HTMLDocument.dispatch (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:5227)
at HTMLDocument.elemData.handle (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:4879)
at Object.t.dispatch (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6)
at r.t.Controller.r.notifyApplicationAfterPageLoad (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:7)
at r.t.Controller.r.visitCompleted (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:7)
at r.t.Visit.r.complete (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6)
at r.<anonymous> (turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6)
at turbolinks.self-1d1fddf91adc38ac2045c51f0a3e05ca97d07d24d15a4dcbf705009106489e69.js?body=1:6
我已尝试过网上的一些建议,如:
$(document).on('turbolinks:load', function() {
writeCookie();
});
但这并不能解决我的问题。 有人有想法吗?
由于 亚历
答案 0 :(得分:0)
./yourProgram | ffmpeg -y -f rawvideo -pixel_format bgr24 -video_size 1024x768 -i - -c:v h264 -pix_fmt yuv420p video.mp4
表示未在js文件中定义Uncaught ReferenceError: writeCookie is not defined
。
要证明这只是在function writeCookie() {}
标记中包含以下函数
<script>
如果这解决了你的问题,我是对的。您没有该功能,因此问题与您的资产管道有关。
原因是你可能在你的html文档中运行该脚本,当文档被加载时,可能在此之前资产管道加载你的文件<script>
function writeCookie() {
// Your function code hear
}
writeCookie();
</script>
或write_time_zone_cookie
,其中包括{{1}功能。
所有文件都需要包含在资产管道中,因此在运行read_url_params
函数时,如果文件已加载到资产管道中,请检查浏览器开发人员工具。只需设置断点即可。
我可以为您提供更多帮助,但是请向我们提供更多信息,您提供的有限信息无法帮助您更多信息
答案 1 :(得分:0)
最终完全删除了turbolink(Guide how to do it)。在页面重新加载和双控制器动作执行后,我看到了更多的JS问题。它有助于&#34;保留日志&#34;在控制台:)。我之后遇到的唯一问题是AJAX调用的重定向。我通过向ApplicationController添加一个辅助方法解决了这个问题:
def redirect_by_request_type(url)
if request.xhr?
render js: "window.location='#{url}'"
else
redirect_to url, status: 303, turbolinks: false
end
end