首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当使用后退按钮时,Rails 3.1返回原始Javascript代码

当使用后退按钮时,Rails 3.1 返回原始 JavaScript 代码,这可能是因为浏览器缓存了旧版本的 JavaScript 文件。为了解决这个问题,可以尝试以下方法:

  1. 禁用浏览器缓存:在开发环境中,可以通过在应用程序的配置文件中添加以下代码来禁用浏览器缓存:
代码语言:ruby
复制
config.action_controller.perform_caching = false
  1. 使用非缓存版本的静态资源:在开发环境中,可以将静态资源(如 JavaScript、CSS 和图片)设置为非缓存版本。在 Rails 应用程序的配置文件中添加以下代码:
代码语言:ruby
复制
config.assets.digest = true
  1. 使用 Turbolinks:Turbolinks 是一个 Rails 插件,可以提高页面加载速度,并解决浏览器缓存问题。要在 Rails 应用程序中使用 Turbolinks,请按照以下步骤操作:

a. 添加 turbolinks gem 到 Gemfile 中:

代码语言:ruby
复制

gem 'turbolinks'

代码语言:txt
复制

b. 运行 bundle install 命令安装 turbolinks。

c. 在应用程序的 JavaScript 文件中添加以下代码:

代码语言:javascript
复制

//= require turbolinks

代码语言:txt
复制

d. 在应用程序的 layout 文件中添加以下代码:

代码语言:html
复制

<%= csrf_meta_tags %>

<%= csp_meta_tag %>

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>

<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

代码语言:txt
复制

通过以上方法,可以解决在使用后退按钮时 Rails 3.1 返回原始 JavaScript 代码的问题。

相关搜索:Javascript:当“后退”按钮被按下时如何取消禁用按钮使用浏览器的后退按钮时删除/禁用javascript当使用"后退"按钮时,Div的类不会持续存在当按下Enter键时,使用JavaScript触发按钮单击使用javascript中的相同按钮更改图像并返回到原始图像当按钮是三角形朝下时,如何从JavaScript启动安卓后退按钮?(隐藏键盘)HTML javascript播放视频,但当单击按钮时,会播放一次不同的视频,然后返回到原始视频。在flutter中,当后退按钮被按下时,我如何返回到上一个URL?console.log("text")当javascript中没有可用的按钮元素时使用selenium当使用浏览器的“后退”按钮时,select2下拉菜单保持打开状态当NVARCHAR有换行符时,使用SQL语句的Javascript代码不起作用Angular 10:当使用浏览器的后退按钮从外部URL返回时,ngOnInit在火狐中部署的应用程序版本中不会触发。在cordova中使用双击后退按钮退出应用程序jquery代码并触摸屏幕时,应用程序退出当按下swift5中的特定按钮时,如何使用代码显示tabBarViewController(在故事板中创建)?无法使用javascript更新文本元素。单击按钮时,文本返回到上一个值当必填字段不为空时,如何使用javascript在表单中创建一个条件,以便在单击提交按钮时显示消息?使用AVPlayerViewController时,当用户点击主页按钮时,视频会在后台播放,但当返回应用程序时,视频会自动关闭Nuxtjs/Vuejs表单数据在使用浏览器后退按钮导航到不同路线并返回到上一路线时丢失当我们使用浏览器的后退按钮转到某个页面并返回到当前页面时,Microsoft Edge复选框值不会持续存在吗?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

实现一个前端路由,如何实现浏览器的前进与后退

3.1 在数组最后进行 增加与删除 通过监听路由的变化事件 hashchange,与路由的第一次加载事件 load ,判断如下情况: •url 存在于浏览记录中即为后退后退,把当前路由后面的浏览记录删除...每进入一个函数,就会将临时变量作为一个栈帧入栈,被调用函数执行完成,返回之后,将这个函数对应的栈帧出栈。为了让你更好地理解,我们一块来看下这段代码的执行过程。...我们使用两个栈,X 和 Y,我们把首次浏览的页面依次压入栈 X,点击后退按钮,再依次从栈 X 中出栈,并将出栈的数据依次放入栈 Y。...当我们点击前进按钮,我们依次从栈 Y 中取出数据,放入栈 X 中。栈 X 中没有数据,那就说明没有页面可以继续后退浏览了。栈 Y 中没有数据,那就说明没有页面可以点击前进按钮浏览了。...这个时候,你通过页面 b 又跳转到新的页面 d 了,页面 c 就无法再通过前进、后退按钮重复查看了,所以需要清空栈 Y。此时两个栈的数据这个样子: ? 如果用代码来实现,会是怎样的呢 ?

1.6K30

【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

forComponent" 方法 : 返回指定选项使用的 控件; (4) UIPickerViewDataSource 数据管理 UIPickerViewDataSource 数据设置方法 :  --...示例代码 :  -- 解析 : 在 API 内部是没有定义关联逻辑的, 关联逻辑是开发者自己使用逻辑实现的, 与上面的示例代码没有本质区别, 使用的还是相同的一套 API; -- 界面设计文件 : ...会等交互结束后才发送 value change 事件; -- Wrap : 默认 NO, YES 当值持续增加 比 Maximum 还大时会变成 Minimum, 值持续减小 比 Minimum...字符串, 并返回结果; (2) UIWebView 导航控制 UIWebView 导航控制 :  -- "goBack" 方法 : 后退回上一页; -- "goForward" 方法 : 前进; --...:  //后退 [self.webView goBack]; (2) 代码示例 代码示例 :  -- 界面设计文件 :  -- OCViewController.h

4.5K40
  • JSP 防止网页刷新重复提交数据

    因为在默认情况下,用户提交表单之后可以通过后退按钮返回表单页面(而不是使用“编辑”按钮!),然后再次编辑并提交表单向数据库插入新的记录。这是我们不愿看到的。        ...使用这种方法,编程者的主要任务是创建一个会话级的变量,通过这个变量确定用户是否仍旧可以查看那个不适合通过后退按钮访问的页面。...另外一种禁用后退按钮的办法是用客户端JavaScript打开一个没有工具条的窗口,这使得用户很难返回前一页面,但不是不可能。...那么,在那个我们不想让用户返回的页面是否也可以加入JavaScript代码呢?在这个页面中加入的JavaScript代码可用来产生点击前进按钮的效果,这样也就抵消了用户点击后退按钮所产生的动作。...再点击后退按钮,你可以看到这时打开的不是本页面,而是本页面之前的页面!(当然,你必须在浏览器中启用了客户端JavaScript代码。)

    11.5K20

    JavaScript交互式网页设计 • 【第3章 JavaScript浏览器对象模型】

    全部章节 >>>> ---- 本章目录 3.1 浏览器对象模型 3.1.1 浏览器对象模型 3.2 window 对象 3.2.1 window 对象的常用属性及方法 3.2.2 使用window...:newWin.close()"> 关闭广告 3.2.4 使用window对象执行计时事件 setTimeout() 方法会在指定的时间执行指定的代码并退出。...setInterval() 方法会根据设置的时间间隔反复执行指定的代码,直至程序结束或利用clearInterval() 方法取消   <script type="text/<em>javascript</em>...history对象可以将当前浏览器页面跳转到某个曾经打开过的页面 方法 描述 back() <em>后退</em>一个页面,相当于浏览器<em>后退</em><em>按钮</em> forward() 前进一个页面,相对于浏览器前进<em>按钮</em> go() 打开一个指定位置的页面...(80 或 443) protocol 属性 <em>返回</em>所<em>使用</em>的 Web 协议(http:// 或 https://) reload() 方法 重新加载当前页面,相对于浏览器的刷新<em>按钮</em> assign() 方法

    79210

    无限滚动加载最佳实践

    别让你的用户就因为使用返回按钮,找不到列表的位置。很重要的是,用户通过列表访问了某一个项目的详情页,他们点击浏览器返回按钮返回列表的时候,也应该在相同的位置。...Flickr 监听用户点击浏览器后退按钮的行为,满足用户的期望。APP 记住用户的滚动位置,所以当用户按后退按钮的时候,返回原始位置。 ? 4....网站或应用提供书签功能的时候,用户会使用的。比方说,Pinterest,使用书签工具帮助用户保存创意。 ? 5. 加载新内容提供视觉反馈 内容在加载的时候,用户需要明确的指示,说明正在进行中。...---- 往期精选文章 使用虚拟dom和JavaScript构建完全响应式的UI框架 扩展 Vue 组件 使用Three.js制作酷炫无比的无穷隧道特效 一个治愈JavaScript疲劳的学习计划 全栈工程师技能大全...WEB前端性能优化常见方法 一小内搭建一个全栈Web应用框架 干货:CSS 专业技巧 四步实现React页面过渡动画效果 让你分分钟理解 JavaScript 闭包 ---- ---- 小手一抖,

    4.3K20

    JavaScript Window - 浏览器对象模型分析

    history.back() - 与在浏览器点击后退按钮相同 history.forward() - 与在浏览器中点击按钮向前相同 JavaScript 消息框 警告框 警告框出现后,用户需要点击确定按钮才能继续进行操作...alert("文本") 确认框 确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。 如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。...confirm("文本") 提示框 提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。 如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。...prompt("文本","默认值") JavaScript 计时 通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。...在 JavaScritp 中使用计时事件是很容易的,两个关键方法是: var t=setTimeout("javascript语句",毫秒) setTimeout() 方法会返回某个值。

    32600

    JavaScript禁用浏览器后退按钮

    3、键盘敲下后退键(Backspace)后 1、禁止浏览器自动后退 2、但不影响密码、单行文本、多行文本输入框等的回退操作 代码如下: ...true : vEnabled; //敲Backspace键,事件源类型为密码或单行、多行文本的, //并且readonly属性为true或enabled属性为false的,则退格键失效 var flag1...true:false; //敲Backspace键,事件源类型非密码或单行、多行文本的,则退格键失效 var flag2=(ev.keyCode == 8 && t !...“后退按钮作出的反应,客户端浏览器需要打开JavaScript代码。...(新窗口浏览器后退按钮为灰色),看起来似乎是个好方法,但缺点也比较明显: 首先,关闭和重开的浏览器窗口大小可能不同,用户可以明显看出这一过程,并且在一定程度上影响操作。

    1.9K30

    phonegap入门实战

    PhoneGap是一个用基于HTML5的移动应用前端开发框架,使用HTML+CSS+JavaScript,再通过PhoneGap就可以快速创建APP了。   ...项目   我们就带大家来感受一下创建一个自己的phonegap程序,实现功能很简单就是点击返回按钮,弹出“hello world”。 1.在系统中,首先转到root目录,这就是我们要创建项目的目录。...4.插件添加完成以后,就可以在创建的目录中,进入www目录下,然后对index.html进行编辑,在这里面实现点击返回按钮,弹出“hello world”,保存文件。...对于我们操作手机也是一样,点击后退按钮、按下Home键、电池电量低等等。   事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小,银行储户的存款日期增加一天。...它不再需要调用任何其他方法来重载返回按钮行为,现在只需要为“backbutton”事件注册一个事件监听器。

    1.6K20

    2016 年 7 个顶级 JavaScript 框架

    涉及到Web开发JavaScript框架往往是一些开发人员和企业最受欢迎的平台。...具备了快速的开发步伐,容易的代码集成,以及做好了单元测试准备的AngulatJS当然可以成为你下一个项目的选择。...使用Ember,你可以获得URL和具备由你创建的每个路径的默认后退按钮,并且API易于使用。...此外,Ember.js和Rails的结合为你编写更丰富、更互动的web app提供了更多的自由,灵活性和快乐。 6.Mithril.js Mithril.js与React.js几乎没有相似的功能。...本质 选择正确的JavaScript框架从来不是取决于特定框架可以提供的功能的数量。重点在于框架的实际功能,以及你如何在自己的开发项目中使用该功能。

    4.3K10

    数据挖掘工程师:如何通过百度地图API抓取建筑物周边位置、房价信息

    title=jspopular 那么肯定需要自己写JavaScript脚本与百度API进行交互,问题是:这种交互下来的数据如何储存(直接写进文本or使用sql数据库?),如何自动化这种交互方式。 ?...2.流程详解 js代码在用户浏览器中执行,因此爬取的主要部分逻辑都需要写在js脚本里,而rails服务器端需要完成的是获得当前需要抓取的房屋数据以及储存js抓取的数据。...首先由用户在浏览器中点击开始按钮,激活GetDataFromServer()方法,浏览器向rails服务器发送请求,服务器的return_next()方法返回当前需要抓取的房屋数据(主要是街道或者小区的位置信息...代码实现 3.1 浏览器端(js) 1.GetDataFromServer: ajax向get_data_url地址以get方法请求json格式的数据, 成功拿到数据后先用小区来匹配房屋坐标, 如果失败再用街道匹配...的数据库,就可以使用上面的方法便利抓取地理位置信息。

    4K90

    Ajax工作原理及实例「建议收藏」

    我们可以把服务器端看成一个数据接口,它返回的是一个纯文本流,当然,这个文本流可以是XML格式,可以是Html,可以是Javascript代码,也可以只是一个字符串。...1、ajax干掉了back按钮,即对浏览器后退机制的破坏。后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。...答案是肯定的,用过Gmail的知道,Gmail下面采用的ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录...html:返回纯文本HTML信息;包含的script标签会在插入DOM执行。 script:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了cache参数。...data是Ajax返回原始数据,type是调用jQuery.ajax提供的dataType参数。函数返回的值将由jQuery进一步处理。

    66010

    JavaScript之BOM

    二、Windows对象 Window对象是客户端JavaScript最高层对象之一,由于window对象是其它大部分对象的共同祖先,在调用window对象的方法和属性,可以省略window对象的引用。...警告框出现后,用户需要点击确定按钮才能继续进行操作。 语法: 确认框(了解即可) 确认框用于使用户可以验证或者接受某些信息。...确认框出现后,用户需要点击确定或者取消按钮才能继续进行操作。 如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。...提示框出现后,用户需要输入某个值,然后点击确认或取消按钮才能继续操纵。 如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为 null。...; 计时相关 通过使用 JavaScript,我们可以在一定时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

    1.3K50

    JavaScript(九)

    ECMAScript 是 JavaScript 的核心,但如果要在 Web 中使用 JavaScript,那么 BOM(浏览器对象模型)则无疑才是真正的核心。...其中,第一个参数可以是一个包含 JavaScript 代码的字符串(就和在 eval() 函数中使用的字符串一样),也可以是一个函数。 //不建议传递字符串!...通过上述任何一种方式修改 URL 之后,浏览器的历史记录中就会生成一条新记录,因此用户通过单击”后退按钮都会导航到前一个页面。 要禁用这种行为,可以使用 replace() 方法。...负数表示向后跳转(类似于单击浏览器的”后退按钮),正数表示向前跳转(类似于单击浏览器的”前进”按钮)。...顾名思义,这两个方法可以模仿浏览器的”后退”和”前进”按钮。 除了上述几个方法外,history 对象还有一个 length 属性,保存着历史记录的数量。

    1.1K40

    原生 js 实现一个前端路由 router

    方法 History.back() 前往上一页, 用户可点击浏览器左上角的返回按钮模拟此方法. 等价于 history.go(-1)....Note: 浏览器历史栈处于最顶端( 当前页面处于最后一页 )调用此方法没有效果也不报错。 History.go(n) 通过当前页面的相对位置从浏览器历史记录( 会话记录 )加载页面。...代码实现 3.1 简单版 - 单页面路由 先看个简单版的 原生 js 模拟 Vue 路由切换。 ?...但是浏览器中主要有这几个限制: 没有提供监听前进后退的事件 不允许开发者读取浏览记录 用户可以手动输入地址,或使用浏览器提供的前进后退来改变 url 所以要自定义路由,解决方案是自己维护一份路由历史的记录...url 存在于浏览记录中即为后退后退,把当前路由后面的浏览记录删除。 url 不存在于浏览记录中即为前进,前进,往数组里面 push 当前的路由。

    2.6K10

    Rails布局和视图渲染

    这里渲染的就是 app/views/books/index.html.erb 使用render方法 render 方法的行为有多种定制方式,可以渲染Rails模板的默认视图、指定的模板、文件、行间代码或者什么也不渲染...渲染javascript render js: "alert('hello, rails')" 此时发送给浏览器的字符串,其MIME类型就是 text/javascript 渲染原始的主体 render...body: "raw" 这时候返回的类型是 text/html ,只有在不在意内容类型的时候才应该使用这个选项。...,:layout 选项指定使用特定的文件作为布局: render layout: "special_layout" 设置为 false ,则说明不使用布局: render layout: false...Rails应用的javascript文件可以存放在三个位置: app/assets 、lib/assets 、vendor/assets。

    3.4K30
    领券