ฉันพยายามอัพเกรดคำตอบที่มีอยู่
วิธีเปิดหน้าต่าง Firefox ใหม่ด้วย Terminal
เพื่อยอมรับ URL เป็นอาร์กิวเมนต์และเปิดหน้าต่างใหม่ Firefox
ฉันสามารถใช้
open -a Firefox 'http://localhost:3000'
แต่จะเปิดในแท็บไม่ใช่หน้าต่างใหม่ตามต้องการ
รูปแบบหนึ่งคือ
open -n -a Firefox 'http://localhost:3000'
ซึ่งทำให้ฉันมีข้อผิดพลาดมาตรฐาน
ปิด Firefox สำเนาของ Firefox เปิดอยู่แล้ว สามารถเปิด Firefox ได้ครั้งละหนึ่งสำเนาเท่านั้น
แต่มันจะเปิด URL ในเบราว์เซอร์ Safari เริ่มต้นของฉัน
ฉันได้ลองตัวเลือกต่าง ๆ ตาม man page สำหรับการเปิดและบนเว็บไซต์ Mozilla สำหรับการเปิด URL ด้วยผลิตภัณฑ์ของพวกเขา แต่พวกเขาบอกว่าข้อมูลนั้นเลิกใช้แล้วและอาจไม่ทำงาน ไม่เหมาะสำหรับฉันเช่น
/Applications/Firefox.app/Contents/MacOS/firefox -new-window "http://localhost:3000"
/Applications/Firefox.app/Contents/MacOS/firefox -remote "openURL(http://localhost:3000, new-window)"
ทั้งสองล้มเหลวด้วยข้อผิดพลาดทั่วไปด้านบน
ฉันพยายามแก้ไขสคริปต์ในลิงค์ก่อนหน้า ฉันอัปเดตเป็นต่อไปนี้
# A function to be able to open up a new Firefox window if firefox is already
# running.
function firefox-window() {
/usr/bin/env osascript <<-EOF
on run argv
tell application "System Events"
if (name of processes) contains "Firefox" then
tell application "Firefox" to activate
keystroke "n" using command down
else
tell application "Firefox" to activate
end if
return "I am trying to open " & item 1 of argv & " in a new Firefox window."
(*
if & item 1 of argv &
return "I am the if you seek"
tell application "Firefox" OpenURL & item 1 of argv &
end if
*)
end tell
end run
EOF
}
ฉันได้รับข้อผิดพลาด:
ข้อผิดพลาดในการดำเนินการ: ไม่สามารถสร้างรายการ 1 จาก {} เป็นข้อความ Unicode ประเภท (-1700)
และฉันติดอยู่ที่นั่น ดังนั้นฉันจึงได้รับปัญหาในการรับ URL ลงใน applescript เป็นอาร์กิวเมนต์
ฉันได้รับโฮสต์ของข้อผิดพลาดอื่น ๆ แต่สคริปต์ต้นฉบับจะทำงานแม้จะมีข้อผิดพลาดก่อนหน้าข้อผิดพลาด UNICODE
~$ firefox-window 'http://localhost:3000'
2012-06-10 16:13:30.258 osascript[789:60f] Error loading /Library/ScriptingAdditions/Adobe Unit
Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit
Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find:
/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no
matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit
Types.osax" declares no loadable handlers.
294:300: execution error: Can’t make item 1 of {} into type Unicode text. (-1700)
ฉันหวังว่ามันจะง่าย แต่ฉันก็กระแทกหัวกับกำแพง ฉันประหลาดใจว่ามันจะไม่ทำงานกับคำสั่งเปิดง่ายดังนั้นฉันสามารถทำได้ในเชลล์สคริปต์
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมในการรับ Firefox เพื่อเปิดหน้าต่างใหม่ในขณะที่ส่ง URL ไปให้
tell application "Firefox" OpenURL & item 1 of argv &
เป็นไวยากรณ์ที่ผิดอย่างสมบูรณ์ คุณต้องเขียน tell application Firefox to
เช่นอย่าลืมที่จะบอก ไปยัง ทำอะไรสักอย่าง. นอกจากนี้คุณสามารถใช้ &
สำหรับการต่อสตริงเท่านั้นซึ่งไม่จำเป็นแม้แต่ที่นี่ ดังนั้นในสคริปต์ของคุณเพียงใช้ item 1 of argv
และไม่ & item 1 of argv &
.