我试图注册Firefox浏览器以在Windows上运行。根据Webbrowser的文档,"如果存在环境变量BROWSER,它将被解释为覆盖平台默认的浏览器列表,作为os.pathsep分隔的浏览器列表,以按顺序尝试#34;。我有以下内容:
import os
import webbrowser
from subprocess import call
os.environ["BROWSER"] = "C:\\FirefoxPortable\\FirefoxPortable.exe"
webbrowser.open('http://google.com')
这仍然会打开iexplorer(默认浏览器)。
此外:
>>> webbrowser._browsers
{'windows-default': [<class 'webbrowser.WindowsDefault'>, None], 'c:\\program files\\internet explorer\\iexplore.exe': [None, <webbrowser.BackgroundBrowser object at 0x04A18F90>]}
>>> webbrowser._tryorder
['windows-default', 'C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE']
我如何在这里使用Firefox?
来源:
# OK, now that we know what the default preference orders for each
# platform are, allow user to override them with the BROWSER variable.
if "BROWSER" in os.environ:
_userchoices = os.environ["BROWSER"].split(os.pathsep)
_userchoices.reverse()
# Treat choices in same way as if passed into get() but do register
# and prepend to _tryorder
for cmdline in _userchoices:
if cmdline != '':
cmd = _synthesize(cmdline, -1)
if cmd[1] is None:
register(cmdline, None, GenericBrowser(cmdline), -1)
cmdline = None # to make del work if _userchoices was empty
del cmdline
del _userchoices
# what to do if _tryorder is now empty?
答案 0 :(得分:2)
请尝试以下代码:
<script type="text/javascript">
var autocm = jQuery.noConflict();
autocm().ready(function() {
autocm("#search").autocomplete("php/getvalues.php", {
width: 500,
matchContains: true,
//mustMatch: false,
//minChars: 0,
//multiple: true,
//highlight: true,
//multipleSeparator: ",",
selectFirst: false
});
});(autocm);
</script>
答案 1 :(得分:2)
尝试了你的例子并得到了相同的结果:在IE中打开,而不是在Firefox中打开。原因是,在webbrowser
的导入时间,尚未设置BROWSER
环境变量。只需重新排序:
import os
# put it **before** importing webbroser
os.environ["BROWSER"] = "C:\\FirefoxPortable\\FirefoxPortable.exe"
import webbrowser
# from subprocess import call
webbrowser.open('http://google.com')
现在有效。我想通过尝试在命令行上设置环境变量。注意:它在引号
中的路径不起作用set BROWSER=C:\FirefoxPortable\FirefoxPortable.exe
确实有效,
set BROWSER="C:\FirefoxPortable\FirefoxPortable.exe"
没有。对于迟到的答案很抱歉,但使用
进行诊断>>> webbrowser._browsers
>>> webbrowser._tryorder
非常有帮助,谢谢。