2013-12-15 150 views
0

以下腳本在新選項卡中打開帶有文本的JS提示符,我希望它只在新窗口中執行相同的操作。爲了達到這個目的,我需要改變什麼?JS提示在新的Safari瀏覽器窗口中打開?

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 
+0

我想這和它打開提示在新窗口中,但是當我按下回車鍵,跳轉到第一頁,並打開它。告訴應用程序「野生動物園」 \t作出新的文件 端告訴 集SEARCHTERM到「易趣」 做shell腳本「在/ usr/bin中/ osascript -e‘延遲1’-e「告訴應用程序\‘系統事件\’來擊鍵\ 「」 &SEARCHTERM&空間& 「\」」>的/ dev/null的2>&1& 「 告訴應用程序 」的Safari「 \t激活 \t做的JavaScript」 的javascript:QR =提示( '', '') ;文檔1中的(Qr)location.href ='http://www.yubnub.org/parser/parse?command ='+ escape(Qr)「 end tell – Elias

+0

您正在調用一個Shell腳本中的AppleScript一個Apple腳本。有什麼特別的原因嗎?我建議把「延遲1」和「告訴應用程序'系統事件'」放在你現有腳本的底部 – AriX

回答

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 thisWindow to make new document 
    tell thisWindow to do JavaScript "javascript:Qr=prompt('','');if(Qr)location.href='http://www.yubnub.org/parser/parse?  command='+escape(Qr)" 

end tell 
+0

謝謝。你發佈的腳本正是我想要做的。它只適用於Safari不全屏幕。當它處於全屏狀態時,它將在新窗口中打開提示,一旦我按下回車鍵,它就會跳到上一個窗口並轉到該窗口中的頁面,而不是它創建的新窗口。由於全屏幕是我首選的瀏覽方式,因此全屏模式爲什麼會這樣做? – Elias

+1

我明白了。用「thiswindow」取代最後一部分後,現在一切正常。設置searchTerm爲「易趣」 do shell script「/ usr/bin/osascript -e'delay 1.4'-e'告訴應用程序\」系統事件\「鍵擊\」「&searchTerm&space&」\「'>的/ dev/null的2>&1& 「 告訴應用程序 」的Safari「 \t激活 \t組thisWindow做出新的文檔 \t做的JavaScript」 的javascript:QR =提示符( '', '');如果(QR)位置.href ='http://www.yubnub.org/parser/parse?command ='+ escape(Qr)「在這個窗口中 end tell – Elias

+0

真棒,我很高興你得到它解決了我的意思是做什麼作爲一個告訴thisWindow來做Javascript – mcgrailm

-1

作者沒有辦法可以選擇在新窗口而不是新標籤中打開。

+0

對於錯誤的措辭我很抱歉,但是我說的聲明是以你不能決定的方式工作的這是一個新標籤或新窗口,這是由用戶在其瀏覽器設置中決定的。 – user3078477

+0

抱歉有任何混淆。以下是在當前選項卡中打開的原始腳本。以上,它被修改爲在新標籤中打開。我只是試圖以同樣的方式打開它,只是在一個新的窗口。將searchTerm設置爲「ebay」 do shell腳本「/ usr/bin/osascript -e'delay 1'-e'告訴應用程序\」System Events \「鍵擊\」「&searchTerm&space&」\「'>/dev/null 2>&1&「 tell application」Safari「 \t activate \t do JavaScript」javascript:Qr = prompt('',''); if(Qr)location.href ='http:// www.yubnub.org/parser/parse?command='+escape(Qr)「在第一個窗口的當前標籤中 end tell – Elias

相關問題