簡體   English   中英

Posixy推出瀏覽器的方式?

[英]Posixy way to launch browser?

是否有“Posixy”方式打開URL,最好是在默認瀏覽器中? 我想做點什么

ShellExecute(0, _T("open"), url, 0, 0, SW_SHOWDEFAULT);

適用於GNU / Linux和MAC。 我讀了一些回答說'

if (fork() == 0)
    system("sensible-browser http://wherever.com");

至少在Debian系統上做的伎倆。 有沒有一種簡單的方法可以將其擴展到適用於其他發行版 Mac OS X的東西?

在Linux上,您應該嘗試使用xdg-open命令啟動URL。 當調用該命令時,較新的發行版應該啟動用戶首選的瀏覽器。 如果沒有GUI運行,它甚至會嘗試啟動鏈接。

顯然,POSIX中沒有關於GUI桌面環境的任何內容。 像freedesktop.org這樣的項目可以填補這個角色。 它試圖定義一些基本功能,這些功能將適用於所有類Unix桌面,例如GNOME和KDE。

執行fork()和調用system()而不是exec()是POSIX上未定義的行為,所以我不建議這樣做。

用戶的瀏覽器偏好並不是我所知道的POSIX標准所關注的東西。

在Mac上,您只需使用open命令即可。 從終端打開open http://www.google.com ,為我打開一個新的Chrome標簽頁。 只需將其包裝在system調用中即可。

一種方法可能是$ BROWSER變量。 Xorg提供了xrdb ,這是這種環境的優先方式,但是我認為這不會讓你在Mac OS X上的任何地方。

沒有可移植的方法來實現這一目標。 在Mac OS X上,解決方案是使用LSOpenCFURLRef或其他LaunchServices API來使用URL方案的默認處理程序打開URL。 其他平台將以不同的方式做事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM