Tag: safari

在Heroku上运行Ruby / Rails应用程序的浏览器没有“销毁”确认

有趣的问题……我已经创建了一个小型的Ruby on Rails应用程序,可以在localhost:3000上使用SQLite,但是当我把它放在Heroku上时,我放弃了使用脚手架“Destroy”链接销毁记录的能力。 不同的行为是当我在localHost:3000上运行时,我得到一个如下所示的浏览器对话框: 当我在heroku上运行时,我没有得到对话框,“Destroy”也没有。 我在Safari和Firefox下运行具有相同的行为。 有什么想法吗?

Rails闪存通知不会在Safari中消失?

我有一个管理学生的Rails 3.2应用程序。 它在顶部有一个相当典型的导航栏(基础5),其中包含一个快速搜索字段。 导航栏显示在站点的每个页面上。 如果您在搜索字段中输入有效(数字)学生ID,则只需跳转到该学生的页面即可。 如果输入文本或其他非数字输入,则会出现闪烁错误,要求输入有效内容。 如果您输入了未找到的ID,则会收到一条闪存通知,说明找不到该ID。 在后两种情况中的任何一种情况下,控制器应该让您回到您来自的任何页面并显示相应的Flash消息。 对于初学者,这是视图中的搜索字段: 这是控制器动作: def search session[:return_to] ||= request.referer if params[:search].to_i.zero? flash[:error] = %Q[ Please enter a numeric student ID.].html_safe redirect_to session.delete(:return_to) else id = params[:search].to_i.abs @student = Student.search(id).first if @student redirect_to @student else flash[:caution] = %Q[ Sorry, we couldn’t find a student with ID #{id}.].html_safe redirect_to session.delete(:return_to) end […]

为什么Safari会导致Rails CSRFexception?Chrome不是?

我想通过iframe中的AJAX请求在我的Rails 4应用程序中创建会话。 在iframe中,我通常使用属性remote: true包含一个新会话的表单,并在表单正文中包含以及在布局的头部包含 。 Chrome发布此表单并创建会话没有问题。 在相同条件下,Safari会导致CSRFexception。 为什么会发生这种情况,我该怎么做才能阻止它呢? 据我了解,这不是CSRF必不可少的情况,因为没有会话劫持,但我仍然担心要关闭它。 Chrome版本:31.0.1650.63 Safari版本:7.0.1

Safari未在Rails应用中加载HTML5video

我有一个Rails应用程序我正在尝试使用以下标记播放HTML5video: 不起作用: 在Safari上,video显示“正在加载…”但从未播放,尽管它​​在Chrome和Firefox中的效果与预期一致。 我认为它最初可能是路径,但我已经尝试了绝对路径,相对路径和Rails image_path助手,但没有结果。 为了调试,我复制了这个示例HTML5video标签,它按预期在Safari中播放(这里唯一的区别是源video): Works :外部托管的示例video 但是,当我采用这个完全相同的标记并在本地托管这些相同的文件时,video在Safari中停止工作: 不起作用 :本地托管的示例video 笔记: 我没有在Safari控制台或Rails日志中收到错误; 没有404s文件或任何东西。 本地托管的video可在Chrome和FF中使用,因此我知道路径是正确的。 外部托管的video在Safari中运行良好。 本地托管的video在Rails应用程序之外的Safari中工作 – 我创建了一个静态页面并使用上面的所有示例产生了良好的效果。 基于所有这些,似乎Safari和Rails的某些组合阻止了video的加载。

如何使用Ruby中的Safari技术预览设置Capybara

我无法使用Capybara和Selenium与Safari技术预览(STP)建立会话。 Capybara甚至不打开浏览器窗口。 我升级到Ruby 2.3.0 Capybara 2.14.2 Selenium 3.4.0 我从https://developer.apple.com/safari/download/下载并安装了STP 我想使用以下代码: Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new( app, browser: :safari ) end Capybara.default_driver = :selenium 如何初始化Capybara以使用已实施W3C自动化标准的STP safaridriver?

Rails(set_no_cache方法)无法在Safari和Opera中禁用浏览器缓存

在使用Devise进行身份validation后,我发现有一个安全漏洞,在用户注销后,会话变量被保留。 这允许任何人按下后退按钮并访问登录用户的上一屏幕。 我看了这些postNum 1 Num 2 Num 3 我将这些行添加到application_controller中 before_filter :set_no_cache def set_no_cache response.headers[“Cache-Control”] = “no-cache, no-store, max-age=0, must-revalidate” response.headers[“Pragma”] = “no-cache” response.headers[“Expires”] = “Fri, 01 Jan 1990 00:00:00 GMT” end 在_form.html.erb中,我在顶部添加了这个 :delete %> ……….. 然后我在Firefox,Chrome和Safari上测试了该应用程序。 Firefox和Chrome很好,因为我退出并点击了后退按钮,无法看到用户的上一个屏幕,但是,在Safari和Opera中,不安全的行为仍然存在。 此代码没有效果。 对于如何解决这个问题,有任何的建议吗? 谢谢