2012-10-25 10 views
29

मैं सफारी में चमकदार नए वेब इंस्पेक्टर के साथ आईओएस 6 सिम्युलेटर का उपयोग कर रहा हूं।जब आईओएस सिम्युलेटर शुरू होता है, तो क्या वेब इंस्पेक्टर को स्वचालित रूप से लोड करना संभव है?

प्रश्न: आईओएस 6 वेब एप्लिकेशन लोड होने पर वेब इंस्पेक्टर को स्वचालित रूप से लोड करना संभव है?

मैं फोनगैप/कॉर्डोवा का उपयोग कर रहा हूं और स्टार्टअप पर बहुत सारी जावास्क्रिप्ट लोडिंग कर रहा हूं। मैं डीबगिंग के लिए बड़े पैमाने पर console.log() का उपयोग करता हूं और एप्लिकेशन शुरू होने के बाद इसे वेब इंस्पेक्टर लोड करना चाहता हूं।

वर्तमान में जब मैं एक्सकोड पर रन चलाता हूं, तो ऐप लोड करता है और मैं अपने पहले फ़ंक्शन पर setTimeout लोड करता हूं, इसलिए मैं सफारी पर जा सकता हूं और उस पृष्ठ पर वेब इंस्पेक्टर संलग्न कर सकता हूं।

मैं इस चरण को हटाने और एक स्वचालित चरण जोड़ना चाहता हूं जो वेब इंस्पेक्टर को सीधे लोड करेगा।

कोई अन्य समाधान?

उत्तर

2

यह मध्य -2014 है और इसके बारे में मुझे अभी भी कोई शानदार समाधान नहीं है, लेकिन मुझे आपके ऐप के इनिट कोड में setTimeout के साथ एक छोटा विराम जोड़ने का विचार पसंद है। यदि setTimeout कॉल जोड़ना संभव नहीं है, तो आप पूर्ण डिबगिंग के लाभ के साथ अपने एप्लिकेशन को पुनरारंभ करने के लिए सफारी कंसोल से window.location.reload() भी जारी कर सकते हैं।

2

यह एक आंशिक समाधान है। यह एक क्लिक के साथ सफारी की डीबग विंडो खोलता है जो बहुत बेहतर है लेकिन स्वचालित नहीं है।

ओपन 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"}) 

एक बार सिम्युलेटर खोल दिया है, अपनी स्क्रिप्ट पर चलाएं क्लिक करें (आप कर सकते हैं पहली बार सेटिंग्स में स्क्रिप्ट संपादक को अनुमति देने की आवश्यकता है)।

(वैकल्पिक) आप अपनी स्क्रिप्ट को ऐप के रूप में सहेज सकते हैं ताकि आपको स्क्रिप्ट संपादक खोलने की आवश्यकता न हो।

अपने OnDeviceReady हैंडलर के अंदर डिबगर जोड़ने

+0

एक आलसी समाधान के लिए, 'सिस्टम प्राथमिकताएं> कीबोर्ड> शॉर्टकट' पर जाने का प्रयास करें और मेनू शीर्षक 'लोकलहोस्ट' के लिए सफारी के लिए "ऐप शॉर्टकट" जोड़ें या जो भी आपका यूआरएल विकास मेनू में दिखता है। –

1

1) (इस जवाब galatin के पिछले जवाब के एक अधिक विस्तृत संस्करण है);

onDeviceReady: function() { 
    debugger; 
    // the rest of your device ready code 
} 

2) xcode या cmdline के माध्यम से एप्लिकेशन चलाएं। एप्लिकेशन

Window.location = ""; 

5):> इंडेक्स फ़ाइल

4) सफारी की सांत्वना दृश्य खोलें और प्रवेश -

3) Safari-> डेवलपमेंट> Simulator- के माध्यम से डिबगर अनुलग्न करें> APPNAME पुनः लोड हो जाएगा और डीबगर ऑनडिवाइस रीडी() की पहली पंक्ति पर संलग्न होगा।

6) सामान्य के रूप में डीबग करें।

संबंधित मुद्दे

 संबंधित मुद्दे