संकेत में सम्मिलित पाठ के साथ जावास्क्रिप्ट चलाने के लिए एप्पलस्क्रिप्ट

मैं Safari में YubNub के लिए जावास्क्रिप्ट प्रॉम्प्ट खोलने के लिए एक एप्पलस्क्रिप्ट का उपयोग करता हूं। कभी-कभी मैं "eBay" ect की तरह अक्सर एक खोज क्षेत्र का उपयोग करता हूं और मुझे लगता है कि Yubnub कमांड पहले से ही प्रॉम्प्ट में टाइप किया गया है, इसलिए मैं अपनी खोज टाइप कर सकता हूं। मैंने प्रॉम्प्ट में "eBay" टाइप करने के लिए निम्न स्क्रिप्ट का प्रयास किया है और यह केवल एक खाली संकेत दिखाता है। किसी भी सहायता की सराहना की जाएगी। धन्यवाद।

लिपी:

    tell application "Safari"
do JavaScript          
              "javascript:Qr=prompt('','');if(Qr)location.href='http://www.yubnub.org/parser/parse?         command='+escape(Qr)" in current tab of first window
    end tell
     delay 0.3
    tell application "System Events" to key code 14
    tell application "System Events" to key code 11
    tell application "System Events" to key code 0
    tell application "System Events" to key code 16
2

1 उत्तर

जैसा कि मैंने यह प्रश्न । मूल रूप से जब आप सेबस्क्रिप्ट से प्रॉम्प्ट खोलते हैं, तो संपूर्ण सेबस्क्रिप्ट तब तक रुक जाता है जब तक आप प्रॉम्प्ट को खारिज नहीं करते। दूसरे प्रश्न के समान ही। पूर्ण स्पष्टीकरण प्राप्त करने के लिए पढ़ें। जैसे आप यह कर सकते हैं ...

set searchTerm to "ebay"

do shell script "/usr/bin/osascript -e 'delay 1' -e 'tell application \"System Events\" to keystroke \"" & searchTerm & space & "\"' > /dev/null 2>&1 &"

tell application "Safari"
    activate
    set newTab to make new tab in window 1
    set current tab of window 1 to newTab
    do JavaScript "javascript:Qr=prompt('','');if(Qr)location.href='http://www.yubnub.org/parser/parse?         command='+escape(Qr)" in current tab of first window
end tell
1
जोड़ा
मैंने वर्तमान विंडो में एक नया टैब बनाने के लिए कोड जोड़ा, इसलिए आपकी खोज उसमें होगी। सौभाग्य। साथ ही, कृपया मेरी पोस्ट को अपने प्रश्न के उत्तर के रूप में चिह्नित करके चिह्नित करें ... यदि वास्तव में यह आपके प्रश्न का उत्तर देता है।
जोड़ा लेखक regulus6633, स्रोत
यकीन है कि यह संभव है। चाल यह है कि इसे खिड़की नहीं कहा जाता है। यह एक दस्तावेज है। स्क्रिप्ट में बस "नया दस्तावेज़ बनाएं" वाले टैब के बारे में 2 पंक्तियों को प्रतिस्थापित करें।
जोड़ा लेखक regulus6633, स्रोत
क्या एक नई खिड़की खुलती है? यदि ऐसा है तो आपको वास्तव में एक नई विंडो खोलने के लिए सफारी समय देने के लिए नया दस्तावेज़ बनाने के बाद "0.5 देरी" की आवश्यकता है।
जोड़ा लेखक regulus6633, स्रोत
महान। खुशी है कि आप जो चाहते थे उसे मिला। सौभाग्य।
जोड़ा लेखक regulus6633, स्रोत
धन्यवाद। यही वही है जो मैं करने की कोशिश कर रहा था।
जोड़ा लेखक Elias, स्रोत
किसी भी मौके पर आपको यह पता चल जाएगा कि उपरोक्त स्क्रिप्ट को इसे एक नई विंडो में खोलने के लिए कैसे प्राप्त किया जाए। मैंने बिना किसी सफलता के कुछ घंटों तक प्रयास किया है।
जोड़ा लेखक Elias, स्रोत
बहुत बढ़िया, धन्यवाद।
जोड़ा लेखक Elias, स्रोत
मैंने "नया दस्तावेज़ बनाने के साथ विंडो 1 के मौजूदा टैब को विंडो 1 में नया टैब बनाने के लिए नया टैब बनाने के लिए सेट नया टैट" बदल दिया है और यह इसे उसी विंडो में खुलता है।
जोड़ा लेखक Elias, स्रोत
पूर्ण स्क्रीन मोड में नहीं होने पर यह बहुत अच्छा काम करता है। पूर्ण स्क्रीन में, यह पिछली विंडो पर कूदता है और प्रॉम्प्ट पर "ठीक" दबाए जाने के बाद वहां खुलता है।
जोड़ा लेखक Elias, स्रोत
मैं यह समझ गया। "इसविंडो" के साथ अंतिम भाग को बदलने के बाद, सबकुछ अब काम करता है। खोज सेट करें "eBay" करने के लिए टर्म स्क्रिप्ट "/ usr/bin/osascript -e 'देरी 1.4' -e 'कुंजीस्ट्रोक \" "और खोज टर्म और स्पेस और \"'> dev// शून्य 2> और 1 और "एप्लिकेशन बताएं" सफारी "सक्रिय करें इसे नया दस्तावेज़ बनाने के लिए सक्रिय करें जावास्क्रिप्ट करें" जावास्क्रिप्ट: क्यूआर = प्रॉम्प्ट ('', ''); अगर (क्यूआर) location.href = ' yubnub.org और zwnj;/parser/parse? comman & zwnj; d =' + escape (Qr ) & quot <