我需要使用node.js獲得屏幕分辨率,但以下代碼不起作用。如何使用node.js獲取屏幕分辨率
var w = screen.width;
var h = screen.height;
這也行不通。
var w = window.screen.width;
var h = window.screen.height;
有人知道如何通過node.js獲得屏幕分辨率嗎? 謝謝。
我需要使用node.js獲得屏幕分辨率,但以下代碼不起作用。如何使用node.js獲取屏幕分辨率
var w = screen.width;
var h = screen.height;
這也行不通。
var w = window.screen.width;
var h = window.screen.height;
有人知道如何通過node.js獲得屏幕分辨率嗎? 謝謝。
我用phantomJS
解決了這個問題。
安裝phantomJS
:
sudo apt-get install phantomjs
創建app.js文件:
var w = screen.width;
var h = screen.height;
console.log(w+"x"+h);
phantom.exit();
執行:
phantomjs app.js
返回:
1366x768
你應該檢索您的客戶端JavaScript代碼window.screen.width
和window.screen.height
並將該信息發送到通過AJAX,WebSocket的服務器端Node.js應用程式,如表格數據等
例如:
(function(w) {
$.ajax({
type: 'POST',
url: '/echo/json',
data: {
w: w.screen.width,
h: w.screen.height
},
success: function() {
console.log(arguments);
},
dataType: 'json'
});
})(window);
這很常見,與服務器端技術無關。無論您在後端使用什麼(Node.js,Python,Ruby,PHP,Java,ASP.NET等),都應該將數據從客戶端發送到服務器,因爲服務器不處理用戶的瀏覽器直接。
感謝尤金,但我想獲得相同的服務器的屏幕分辨率。 – Agneli
如果您在服務器上運行瀏覽器,則可以在該瀏覽器中運行客戶端腳本,並以相同的方式將數據發送到服務器端應用程序。 –
在運行多個顯示器的Linux服務器的常見情況下,X11在內部默認爲一個巨大的聚合窗口。 Phantomjs將返回該分辨率。無論操作系統如何,或者窗口管理器的配置如何,Eugene的答案都會返回瀏覽器運行的任何顯示的分辨率。 –
如果服務器沒有運行圖形界面,那很可能是這種情況呢? –
爲什麼會是服務器? –
由於Node.js不運行客戶端,它在服務器上運行。 – hexacyanide