我目前正在调试嵌入在 UIWebView 中以在应用程序中显示的网页。
它使用一些精心设计的加载 Javascript,在 Android 应用程序中运行良好,但在 iOS 应用程序中出现问题。
This answer将我指向用于 UIWebView 的 Safari Web Inspector - 但是,由于损坏的 Javascript 正在页面加载时运行,我实际上无法及时附加检查器以捕获出现的任何问题。
现在我正在通过在页面中手动插入延迟来绕过它,但是有没有更好的方法(不需要我更改页面代码本身,启动应用程序,急于加载它在 Safari 中打开,然后稍等片刻才能继续)?
最佳答案
重要修改:在 Safari 7.0 中,您可以通过选择“资源” View 并单击顶级页面旁边的刷新箭头来重新加载页面。 [看来您也可以在至少某些版本的 Safari 6 中执行此操作,方法是选择文档选项卡,单击顶级页面将其选中,然后按 Command+R(与在普通 Safari 中刷新页面的快捷方式相同) .] 如果您从 Safari Web Inspector 刷新页面,您设置的断点将仍然存在,因为这样做不会导致 SWI 分离从您的应用程序或 Xcode 调试器中重新加载页面的方式。这意味着,只要该页面不执行 Javascript 重定向或在应用程序本身中触发副作用,您就可以单步执行 onload Javascript,方法是加载一次页面,在那里设置断点,然后重新加载来自 SWI 的页面。
原始帖子:我能够找到的唯一解决方案是对 shouldStartLoadWithRequest: 进行“额外”调用,如下所示:
添加脚本(不是 onload,同步)作为页面头部的第一个元素:
<script type="text/javascript">
window.location = "myapp://catchme";
</script>
在 shouldStartLoadWithRequest:
编辑断点以设置条件:
(bool)[[[request URL] absoluteString] isEqualToString:@"myapp://catchme"]
(如果没有这个条件,它会在最初的 shouldStartLoadWithRequest: 调用时停止,这不是您想要的,因为在这个阶段该页面还不能附加到 Mobile Web Inspector .)
开始页面加载,当它遇到 (Xcode) 断点时,切换到 Safari,并使用 Develop > iPhone Simulator >(我的页面)启动 Mobile Web Inspector,然后切换回 Xcode 并在其中继续执行在页面上的所有资源请求超时之前的一个短暂窗口。
关于ios - 在 UIWebView 中调试启动时的 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346123/
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
使用Ruby1.9.2运行IDE提示说需要gemruby-debug-base19x并提供安装它。但是,在尝试安装它时会显示消息Failedtoinstallgems.Followinggemswerenotinstalled:C:/ProgramFiles(x86)/JetBrains/RubyMine3.2.4/rb/gems/ruby-debug-base19x-0.11.30.pre2.gem:Errorinstallingruby-debug-base19x-0.11.30.pre2.gem:The'linecache19'nativegemrequiresinstall
我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element
一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
已经有一个问题回答了如何将“America/Los_Angeles”转换为“PacificTime(US&Canada)”。但是我想将“美国/太平洋”和其他过时的时区转换为RailsTimeZone。我无法在图书馆中找到任何可以帮助我完成此任务的东西。 最佳答案 来自RailsActiveSupport::TimeZonedocs:TheversionofTZInfobundledwithActiveSupportonlyincludesthedefinitionsnecessarytosupportthezonesdefinedb
Ruby是否有逐步调试器,类似于Perl的“perl-d”? 最佳答案 ruby-debug(对于ruby1.8),debugger(对于ruby1.9),byebug(对于ruby2.0)以及trepanning系列都有一个-x或--trace选项。在调试器内部,命令setlinetrace将打开或关闭线路跟踪。这是themanualforruby-debug原来的答案已经修改,因为数据噪声文章的链接,唉,不再有效了。还添加了ruby-debug的后继者 关于ruby-Ruby