Selenium RC:如何点击使用onclick window.location的按钮?
我有一个按钮(在表单之外),该按钮使用调用window.location>将用户重定向到另一个页面的onclick属性将其重定向到另一页.这次我无法更改HTML.我正在使用Safari 4进行测试.我如何单击使用onclick属性的按钮,然后使用Safari 4和Selenium RC Phpunit扩展名来重定向? 这是我的html: 更新:另外,我正在考虑做一些我断言window.location=''中指定位置,存储该位置的位置,然后使用该位置调用open()命令.不确定这是否是测试此方法的一种可接受的方法. 解决方案 我们决定扩展默认clickAndWait()功能,如果按钮具有onclick="window.location='/
2 2024-04-05
编程技术问答社区
当字体大小较大时,在div内的span的垂直对齐。
注意:我已经阅读了如何垂直中心在DIV内?,但在这里略有不同(请参见下文). 我试图在圆按钮中插入一些大文本,另一个图像在另一个图像中,标题垂直对齐. 这在Chrome上非常有用(我使用了 circle button button css 的各种答案: 但奇怪的是,它在Firefox和iPhone Safari上不起作用(不良对准): 如何解决这样的垂直对准问题? 在 .circlebtn { height: 5.4em; width: 5.4em; border-radius: 50%; background-color: black; color: white; text-align: center; cursor: pointer; border: 0; user-select: none; outline: 0; display: inline-block; margin: 1.9em 0 3em 1em; float: left; } .cir
0 2024-04-05
编程技术问答社区
Safari的 "返回 "按钮不支持PHP注销会话
我有一个logout.php页面,该页面结束了用户的会话并运行良好,并执行以下操作: session_start(); session_unset(); session_destroy(); 我刚刚在使用Safari测试时注意到,当您注销时,您可以单击"返回"按钮返回上一页,该页面需要身份验证但不提示.如果不输入导航,您就无法离开此页面,但不应首先显示上一页. 到目前为止,在我的测试中,这只是Mac OS X上Safari的一个问题,还有许多其他报告,但我找不到解决方案: 我很想能够通过Safari的背部按钮禁用这种行为 - 惊讶于首先发生这种行为. 谢谢 史蒂夫 解决方案 确保使用合适的缓存控制标头发送需要身份验证的任何页面.该页面正在从浏览器缓存显示,通过提供明确禁止缓存的缓存控制您应该能够停止此页面. 来自 http://php.net/manual/manual/en/en/function.header.header. php
0 2024-04-05
编程技术问答社区
OS X & iOS Safari history.replaceState limit抛出SecurityError: DOM 异常 18
在Safari中replaceState 将被称为100次以上,它将投掷: SecurityError:DOM异常18:试图突破 用户代理的安全策略. 更多信息: https://forums.developer.apple.apple.com/thread/366650/36650 我的问题是,在某些特定条件下,当用户滚动时,我会更改URL(使用$(window).scroll(function() {....您可能猜到,我在不到2秒的时间内达到了100的极限. history.replaceState({}, '', newStringWithURLToUpdateInClientBrowser); 有什么解决方法吗?允许管理history的现有库可以解决此问题吗? 所有其他浏览器都不会受到此问题的影响.只有webkit. 这是查看错误的小提琴: https://jsfiddle.net/j1sxxlwy/ 在Chrome中,它将达到100,但尝
0 2024-04-04
编程技术问答社区
Safari History.db的history_visits.visit_time是什么格式的?
从Safari中查看history.db时,有一个名为history_visits的表名为visit_time,即REAL值.它具有470799793.096987之类的值.那是什么格式?我想以12/08/2015 05:12:05的格式看到它. 解决方案 更新2023-12-29:使用以下工具可以直接从核心数据时间戳转换为人类日期: https://www.epochconverter.com/coredata 这是自2001年1月1日00:00:00 UTC以来的秒数.它必须来自NSDate. nsdate对象封装一个时间点,与任何特定的日历系统或时区无关.日期对象是不变的,代表相对于绝对参考日期的不变时间间隔(2001年1月1日UTC 00:00:00). 在/a> 要从中获得不错的人价值,您必须添加978307200(2001-01-01-01 00:00:00的时代). 此查询应该给您想要的东西: .headers on select
0 2024-04-04
编程技术问答社区
在Webkit中读取window.history.state对象
Safari和Chrome(我猜,所有Webkit浏览器)没有响应window.history.state,该>在Evolving HTML5标准中指定的window.history.state window.history.state 在这里,并在firefox中实现. 有能力阅读吗?也许可以在代码中触发Popstate事件并从事件处理程序返回状态? 解决方案 window.history.state当前未在Webkit Broswers中实现.有一个请求为此,但到目前为止尚未采取任何实施步骤. 有一个名为 history.js 的项目旨在提供交叉兼容的历史管理经验. history.js优雅地支持所有浏览器中的HTML5历史/状态API(PushState,替换,Onpopstate).包括持续支持数据,标题,替换.支持JQuery,Mootools和Prototype.对于HTML5浏览器,这意味着您可以直接修改URL,而无需再使用哈希.对于HTML4浏览
0 2024-04-04
编程技术问答社区
浏览器与火狐浏览器的反向缓存
我有一个Drupal网站,其视图链接到详细页面.该视图有分页.这是问题: 在Firefox中,当您从视图的第8页转到详细页面时, 然后单击"背面"按钮,最终在第8页上. (好) 在Chrome中,当您从视图的第8页转到详细页面时,然后 单击"返回"按钮,您最终在第1页的视图中. (坏) 我的印象是,Chrome和Firefox以相同的方式处理后退.这不是真的吗?我可以做些什么来修复它,即,在任何一种情况下,您在单击"返回"按钮后最终在视图的第8页上进行修复? 您可以在 http://www.instepp.umn.umn.edu/出版物 谢谢! 劳里 解决方案 更多地挖掘,我在: Firefox后退按钮与IE和Chrome Back按钮 通过博客文章回答:简而言之,Chrome&Firefox上的后退按钮的行为不同;如果我所需的行为是为了向后按钮从缓存返回DOM,我将无能为力.如果我希望返回按钮返回先前页面的刷新版本,则在博客文章中详细介
0 2024-04-04
编程技术问答社区
如何删除ios模拟器safari的缓存
我正在尝试在iPhone模拟器上测试网站,我进行了一些JavaScript更改,并且我的JavaScript文件正在加载. . 我看到了带有Safari Web Inspector,Resources Tab(在模拟器窗口上)的旧版本文件,网络调用也具有状态304. 我已经在Macos Safari上禁用了缓存. 我已经尝试在模拟器设置上删除Safari Cache. 模拟器外部的Safari正确加载了新文件(我清空/禁用了缓存). 我正在使用Sierra上的Xcode使用Simulator(10.0 SimulatorApp-745.10) 如何删除或禁用模拟器缓存? 解决方案 对于2018年进入的任何人:如果您附上了野生动物园,请单击网络选项卡,然后在顶行,"忽略缓存资源"图标(仅在"导出"按钮旁边). 似乎可以解决问题. 其他解决方案 2024:设备/擦除所有内容和设置
0 2024-04-04
编程技术问答社区
Rails ( set_no_cache方法) 无法在Safari和Opera中禁用浏览器缓存
使用设计为身份验证后,我发现在用户注销后,保留了一个安全孔,保留了会话变量. This allows anyone to press the back button and access the logged in user's previous screen. I looked at these posts Num 1 Num 2 I added these lines to my 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
2 2024-04-04
编程技术问答社区
在Chrome浏览器中使用Javascript强制重新加载页面[无缓存]
我需要使用JavaScript重新加载页面,并确保它不会从浏览器缓存中拉出,而是从服务器中重新加载页面. [因为页面的元素将在此期间发生变化] 在IE和FF上,我发现以下代码正常; window.location.reload(true); 但是,它在Chrome或Safari上不起作用. 我尝试了以下内容,但也无济于事; window.location.replace(location.href); document.location.reload(true); document.location.replace(location.href); 是否有解决方案? 发现 研究了此问题,我发现此问题是HTTP协议处理; Chrome发送请求Pragma: no-cache HTTP字段 服务器响应Last-Modified: DATE1字段 JS使用location.reload(true)强制从服务器重新加载而不是缓存 Chrome
0 2024-04-04
编程技术问答社区
浏览器使用什么启发式方法来缓存未明确设置为可缓存的资源?
13.2.2启发式到期 由于原点服务器并不总是提供明确的到期时间,因此HTTP缓存通常分配了启发式到期时间,采用使用其他标头值(例如最后一个修饰时间)来估算出可行的到期时间的算法. HTTP/1.1规范不提供特定的算法,但确实对其结果施加了最坏的限制.由于启发式到期时间可能会损害语义透明度,因此他们应该谨慎使用,我们鼓励原始服务器尽可能地提供明确的到期时间. http/1.1 http/1.1 rfc 2616 浏览器使用哪些算法来估计有可能的到期时间? 理想的答案将涵盖所有主要浏览器,并提供来自源代码或官方博客文章的证据. 解决方案 让我们假设我们感兴趣的所有浏览器是Internet Explorer 8或更新(例如,IE5在缓存标题中具有一些可怕的行为). 只有一种基于标准的方法来控制缓存(使用http/1.1介绍) - Cache-Control http header . 至少1996年以来,IE一直在使用缓存HTTPS内容的退出政策. 自
0 2024-04-04
编程技术问答社区
WATIR Safari 的自动化问题
我是Watir的新手,我想自动使用Safari浏览器. 我在Ruby文件中使用了" Safariwatir"语句. 我可以打开一个野生动物园浏览器窗口,但是当我在浏览器对象上调用goto方法时,结果是零.它显示未能打开页面. 请在这件事上给予我帮助. 预先感谢. 解决方案 Safariwatir GEM不再处于积极发展中.最后一个版本是三年前.您应该使用 watir-webdriver Gem驱动Safari .
0 2024-04-04
编程技术问答社区
重定向旧的Browers Safari用户
我正在使用此代码重定向Safari用户... var uagent = navigator.userAgent.toLowerCase(); if(/safari/.test(uagent) && !/chrome/.test(uagent)) { window.location.href = "http://www.google.com" } 但是我需要一个脚本来重定向旧的野生动物园浏览器,有人可以帮助我? 解决方案 window.onload = function () { var uagent = navigator.userAgent.toLowerCase(); var safari = uagent.match(/safari\/(\S+)/); var
0 2024-04-04
编程技术问答社区
从浏览器检测应用程序是否安装在用户的Mac OS X上
如果在用户Mac OS X上安装了应用程序,我该如何从浏览器中检测到. 我想实现,如果用户单击下载按钮,则如果他安装了应用程序,则下载可以使用此应用程序打开的特定文件,如果用户没有应用程序,则他是提示他需要先下载应用程序才能查看实际文件. 解决方案 这个谢谢道格·斯蒂芬(Doug Stephen)提供链接,此处: 确定是否存在应用程序并启动iOS上的该应用 this 链接也有助于继续解析.
0 2024-04-04
编程技术问答社区
Safari不发送`referer'头信息
var a = document.createElement('a'); a.href = url; var clk = document.createEvent('MouseEvents'); clk.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, true, false, false, true, 0, null); a.dispatchEvent(clk); 使用此方法时,http_referer不发送.你能帮我吗? (方法模拟ctrl+click链接) 解决方案 请尝试将其添加到您的 这应该将其修复到桌面野生动物园中.它可能无法为iOS Safari修复它.您可能需要使用原始内容. 一个很好的解释:
0 2024-04-04
编程技术问答社区
jquery和Safari 7-slideToggle和fadeToggle不工作
嗨,我在此页面上有很多jQuery homestartpage .com 在我对其进行测试的每个浏览器上都可以正常工作,除了新版本的Safari. 问题是,当您在该页面上拖动一个正方形时,您应该注意到其中一个小正方形出现在顶部标头栏上的另一个小蓝色正方形旁边,上面有一个垃圾桶图标. 这使用Fadetoggle并在Safari 7 以外的所有内容上工作 另一个问题是,当您单击标头上的最右蓝色正方形时,其中一个人的图标应显示下拉菜单.这使用了slidetoggle,并且再次在Safari上不起作用7 有人有任何想法吗? 谢谢 解决方案 也许您应该使用 jQuery 的2.0版,WICH不支持IE8及以前,但更新.在这里看看 http://jquery.com/download/
0 2024-04-04
编程技术问答社区
Mac上的流行浏览器
除Safari外,Mac上还有其他流行的浏览器吗?对于Windows,有大量具有FF和Chrome的用户,但Mac用户也是如此吗?还是我可以肯定地说Safari覆盖了95%的Mac用户? 我问的是,我知道我需要测试的应用程序需要哪些浏览器/平台组合. 解决方案 我们发现Chrome和Firefox在Mac上仍然很常见,但根据网站的不同,大约10-20%的Mac用户. 其他解决方案 我绝对不认为您不需要测试Mac FF和Chrome.这不会是很大的工作,因为Mac Chrome或FF的各自Windows版本似乎并没有很大差异. 其他解决方案 Firefox可用于Mac和Opera. Google Chrome(Chromium)也在那里. 这是Mac可用浏览器的列表: http://gh/en.wikipedia.org/wiki/wiki/wiki/category:mac_os_os_os_x_wex_wex_web_web_web_browsers 在测
0 2024-04-04
编程技术问答社区
如何在MAC safari中按下返回按钮时强制刷新页面
我有两个使用ASP.NET MVC创建的ASPX页面(a,b).在文件A中,我有几个复选框和文本框. 当我搬到B页面并尝试通过按下浏览器返回按钮(在Mac Safari中)导航到A页面时,该页面不会刷新.该页面保留其旧值(用于复选框和文本框). 当我在服务器端有断点时.我能够受到打击. 我确定服务器端操作方法是调用的. Mac Safari浏览器存在一些问题. 我在其他浏览器IE和FF中尝试了相同的用例,它似乎可以很好地工作. 非常简单,但是我在谷歌搜索时会得到正确的答案. 有人可以建议在Mac中解决此问题.? 谢谢, vijay 解决方案 我尚未检查,但是我很确定 mac 的Safari并不是唯一这样做的浏览器.这是因为浏览器的缓存工作方式.当您返回浏览器历史记录时,Safari(以及Afaik Firefox)不会再次请求页面.相反,Safari/Webkit保留了一个副本以记住以前的访问页面,因此返回几乎是瞬时的. 在这
0 2024-04-04
编程技术问答社区
在AppleScript中检测Safari浏览器的隐私浏览情况
我正在尝试编写AppleScript,这将证明 Safari的窗口是否处于私有模式.这是在Chrome中这样做的苹果订阅: tell application "Google Chrome" set incognitoIsRunning to the (count of (get every window whose mode is "incognito")) is greater than 0 end tell if (incognitoIsRunning) then return "-- PRIVATE MODE --" end tell 旧的解决方案,查看是否检查了私人浏览菜单选项不再可行. 解决方案 可以利用Safari中的一个怪癖来确定是否启用了私有模式:Safari不允许LocalStorage.SetItem以私有模式使用(请参阅tell application "Safari" set checkMode to " var ispriva
0 2024-04-04
编程技术问答社区
如何为Safari网页浏览器设置媒体查询
@media only screen and (min-width: 480px) and (max-width: 767px) { } 这是我的媒体查询如何修复它.如何设置Safari Web浏览器. 解决方案 不是用于浏览器检测的媒体查询.例如,使用JavaScript,例如: if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") = 0 && navigator.userAgent.search("Chrome")
0 2024-04-04
编程技术问答社区