bpa*_*apa 130 javascript iphone html5 uiwebview
我试图找出为什么使用Javascript的东西在UIWebView中不起作用.据我所知,没有办法在XCode中为js文件设置断点.没问题,我将回到2004年并使用警报状态 - 哦等等他们似乎也不在UIWebView内部工作!
我唯一能想到的是将我的HTML和JS文件导出到我的桌面,然后在Safari中进行调试.这有效!但是,当然,我在UIWebView中遇到的错误在Safari中不会发生.
是否还有其他方法可以在UIWebView内部进行调试,或者使用类似于使用老派警报方法的任何技巧?
ref*_*los 267
如果你使用iOS> = 6并且你有山狮(10.8)或Safari> = 6,你可以:
Preferences -> Advanced
并确保"在菜单栏中显示开发菜单"已启用.Develop -> iPhone Simulator -> [your webview page]
.而已 !
Dan*_*ett 31
这个查询高于谷歌,因此值得链接到iOS5中隐藏的remoteInspector - 到目前为止调试UIWebViews的最佳方法 - 只是在发送给Apple之前有条件编译.
alert()肯定对我有用.
但是,您还可以执行许多其他操作,例如在层中弹出自己的DHTML警报.这可能很好,因为您可以对单个div执行多个警报,而无需停止您的应用程序.你也应该能够堆栈跟踪写它(堆栈跟踪是在异常对象,你可以随时抛出自己的例外).
或者,如果在模拟器上运行,您的自定义"alert()"可以调用目标C,并在iPhone模拟器的控制台窗口中显示该字符串:
document.location.href = "http://debugger/" +
encodeURIComponent(outputString);
Run Code Online (Sandbox Code Playgroud)
在目标C方面:
//--------------------------------------------------------------------
- (BOOL)webView:(UIWebView*)webView
shouldStartLoadWithRequest: (NSURLRequest*)req
navigationType:(UIWebViewNavigationType)navigationType {
if ([[[req URL] host] isEqualToString:@"debugger"]){
// do stuff with [[req URL] path]
}
}
Run Code Online (Sandbox Code Playgroud)
也就是说,我有一个在UiWebView/javascript上很重的应用程序,我倾向于在Chrome中做大多数javascript开发(模拟iPhone环境中的必要)
我得到了调试UIWebView或 SFSafariViewController的绝妙方法。
我希望它会有所帮助。
第 1 步: ? 在您的 Mac 中打开 Safari VC(哈哈哈,不要脸,如果我在您的 Macbook 中说,请按照我的步骤操作)??
步骤 2:进入 Safari 首选项并单击高级。??您将在 MacBook 屏幕上获得此设置。
现在在菜单栏中启用 Show to develop 菜单。?? 现在你的所有工作都完成了。??你以为我在开玩笑:P :P 没有人... ??
步骤 3:在设备或模拟器中运行您的应用程序。(不要认为只是运行)?然后进入您打开 Webview 或 SFSafariViewController 的应用程序。? 直到现在你不明白我知道。冷静点,看看我的下一步。
? 第 4 步:在 MacBook 中打开 Safari,然后单击菜单栏中的“开发选项”。??您的 MacBook、iPad/iPhone 显示正确了吗????
?? 第5步:完成。单击您的设备并单击 URL 新弹出窗口将像这样出现。
???Step6:你现在在看什么,所有步骤都在这里。
现在在此控制台上调试您的网页。一边喝茶或喝咖啡一边编码,一边快乐和享受你的一天。
归档时间: |
|
查看次数: |
85977 次 |
最近记录: |