2015-08-28 82 views
-1

所提供網址的新標籤是不是在Ubuntu 14.04開 相同的代碼工作在Mac OS X中的優勝美地webbrowser.open_new_tab或webbrowser.open沒有在Ubuntu 14.04的工作

我已經燒瓶上都安裝的Ubuntu 14.04和Mac優勝美地 兩者都有蟒蛇2.7.6安裝

下面是源代碼:

import webbrowser 
from flask import Flask 
from flask import render_template 

app = Flask(__name__) 

@app.route('/', methods=['POST']) 
def submit(): 
    url = 'https://www.google.com' 
    webbrowser.open(url, new=0, autoraise=True) 
    return render_template("index.html") 

if __name__ == '__main__': 
    app.debug = True 
    app.run() 

我訪問燒瓶應用程序在Mac上的端口5000而在Ubuntu我訪問它婆rt 8080

讓我知道更多信息,我需要提供幫助我調試。


調試後我想這是否是因爲SSL證書問題? 爲了進行調試,我嘗試在服務器上創建與我的本地計算機相同的環境。 BI停止我的服務器上的Apache Web服務器,並手動啓動燒瓶應用程序(以便我可以訪問5000端口上的頁面),並嘗試使用http://127.0.0.1:5000 啓動頁面我觀察到終端中的python日誌已被擦除,屏幕在底部顯示「≪ ↑ ↓ Viewing[SSL] <Google Maps>

+0

究竟是你想做些什麼?當某人訪問該頁面時,是否希望有人在桌面上打開Web瀏覽器(默認爲Safari)? – metatoaster

+0

是@metatoaster。我在默認的HTML頁面中有一個按鈕。點擊它,我想打開一個新的選項卡與給定的網址。它可以在任何瀏覽器上,而不是特定的Safari瀏覽器。 – Rookie

+0

讓我改說一下。 ['webbrowser.open'](https://docs.python.org/2/library/webbrowser.html)在這種情況下在** webserver **上打開一個瀏覽器(因爲這是在這種情況下的瓶子) ,這正是你想要的嗎? – metatoaster

回答

3

您當前的代碼確實打開了新的瀏覽器窗口,但在您的服務器正在運行的計算機上。 如果你想在客戶端的瀏覽器中打開新的標籤頁,你可以使用HTML屬性target="_blank"這樣的:

<a href="http://www.google.com/" target="_blank">Button</a>