我正在使用iOS 6模拟器和Safari中闪亮的新Web Inspector。
问题:iOS 6 Web应用程序加载时是否可以自动加载Web Inspector?
我正在使用PhoneGap / Cordova并在启动时加载了大量的javascript。我广泛使用console.log()
进行调试,并希望在应用程序启动后加载Web Inspector。
目前,当我在Xcode上点击Run时,应用程序会在我的第一个函数上加载I setTimeout
,这样我就可以赶到Safari并在该页面上附加Web Inspector。
我更倾向于删除此步骤并添加一个可以直接加载Web Inspector的自动步骤。
还有其他解决方案吗?
答案 0 :(得分:2)
2014年中期,我知道这仍然没有优雅的解决方案,但我喜欢在您的应用中添加setTimeout
短暂暂停的想法。初始化代码。如果无法添加setTimeout
电话,您还可以从Safari控制台发出window.location.reload()
,以便在完全调试的情况下重启您的应用。
答案 1 :(得分:2)
这是部分解决方案。这将打开Safari的调试窗口,只需单击一下即可,但不是自动的。
在Mac上打开Script Editor
(命令+空格键并输入脚本编辑器)
粘贴此代码:
-- `menu_click`, by Jacob Rus, September 2006
--
-- Accepts a list of form: `{"Finder", "View", "Arrange By", "Date"}`
-- Execute the specified menu item. In this case, assuming the Finder
-- is the active application, arranging the frontmost folder by date.
on menu_click(mList)
local appName, topMenu, r
-- Validate our input
if mList's length < 3 then error "Menu list is not long enough"
-- Set these variables for clarity and brevity later on
set {appName, topMenu} to (items 1 through 2 of mList)
set r to (items 3 through (mList's length) of mList)
-- This overly-long line calls the menu_recurse function with
-- two arguments: r, and a reference to the top-level menu
tell application "System Events" to my menu_click_recurse(r, ((process appName)'s ¬
(menu bar 1)'s (menu bar item topMenu)'s (menu topMenu)))
end menu_click
on menu_click_recurse(mList, parentObject)
local f, r
-- `f` = first item, `r` = rest of items
set f to item 1 of mList
if mList's length > 1 then set r to (items 2 through (mList's length) of mList)
-- either actually click the menu item, or recurse again
tell application "System Events"
if mList's length is 1 then
click parentObject's menu item f
else
my menu_click_recurse(r, (parentObject's (menu item f)'s (menu f)))
end if
end tell
end menu_click_recurse
menu_click({"Safari", "Develop", "IOS Simulator", "index.html"})
模拟器打开后,单击脚本上的运行(您可能需要首次在设置中允许脚本编辑器)。
(可选)您可以将脚本保存为应用程序,这样就不必打开脚本编辑器。
(这个答案是Galatin之前答案的更详细版本)
答案 2 :(得分:1)
1)在OnDeviceReady处理程序中添加调试器;
$(window).scroll(function(){
if ($(document).scrollTop() + $(window).height() == $(document).height()) {
$('iframe').fadeIn();
} else {
$('iframe').stop(true, true).fadeOut();
};
});
2)通过xcode或cmdline运行应用程序。
3)通过Safari-&gt;开发 - &gt; Simulator-&gt; Appname - &gt;连接调试器。索引文件
4)打开safari的控制台视图,然后输入:
.sm_textinput, .textinput {
height: 25px !important;
margin-bottom: 5px;
background: #fdfef5;
border: 1px solid #e7e5de;
font-family: 'PT Sans', sans-serif;
font-size: 14px;
padding: 5px 0 4px 8px !important;
display: block;
}
5)应用程序将重新加载,调试器将附加在onDeviceReady()的第一行。
6)正常调试。