我一直在使用以下内容在OS X中启动默认浏览器:
system('open', url)
在升级到优胜美地之前,这一直很好。现在,我经常在尝试打开各种URL时收到此消息:
LSOpenURLsWithRole() failed with error -1712 for the URL http://blah.com
但有时候这个网址会有用。我可以尝试一次,它可以工作,另一个可能没有。非常不可预测。
我已尝试过所有这些:
system("open #{url}")
`open #{url}`
Launchy.open(url, debug: true)
Launchy.open( "#{ url }" ) do |exception|
puts "Attempted to open #{url} and failed because #{exception}"
end
但他们都表现出同样的行为。有几个URL一次打开,如下所示:
urls.each do |url|
system("open #{url}")
end
如何使用ruby在OS X上的浏览器中持续打开特定的URL?
答案 0 :(得分:4)
看起来您正在同时推送具有太多网址的浏览器。
使用sleep
似乎工作正常。
15.times {|i| `open http://google.com?q=#{i}` }
# LSOpenURLsWithRole() failed with error -1712 for the URL http://google.com?q=5.
# LSOpenURLsWithRole() failed with error -1712 for the URL http://google.com?q=6.
# LSOpenURLsWithRole() failed with error -1712 for the URL http://google.com?q=12.
# LSOpenURLsWithRole() failed with error -1712 for the URL http://google.com?q=14.
# => 15
15.times {|i| sleep(0.2); `open http://google.com?q=#{i}` }
# => 15