2012-11-30 22 views
11

Js kodumun düğüm sunucusunda mı yoksa istemcide mi çalıştığını belirlemek ve isServer = true üzerinde çalışıyorsa bir değişkende saklamak istiyorum sunucusu. Bunu nasıl yapabilirim? Sadece sunucuda kullanılabilen bir özelliğin varlığını kontrol etmenin bir yolu var mı, eğer mümkün ise en iyi seçenek hangisi?Js kodu, sunucuda veya istemcide çalışıyorsa nasıl kontrol edilir

Yardımlarınız için teşekkürler!

+3

'if (typeof window ===" undefined ") {/ * büyük olasılıkla serverda * /}' – nnnnnn

cevap

16

Bu kullanabilirsiniz: Küresel window.document nesne olarak

function is_server() { 
    return ! (typeof window != 'undefined' && window.document); 
} 

tarayıcı bağlamında sadece mevcut.

+2

window.document kolayca enjekte edilebilir. –

+0

ReferenceError: window, REPLServer.self.eval (repl.js: 111: 21) numaralı telefondan adresinde tanımlanmadı: 1: 4 . (repl.js: 250: 12) InterfaceEventEmitter.emit (event.js: 88: 17) adresinde , Interface._onLine (readline.js: 199: 10) at Interface._line (readline.js: 517: 8) Interface._ttyWrite (readline.js de : ReadStream.EventEmitter.emit (events.js 10) : 98: ReadStream.onkeypress (readline.js 14) : 735 20) en: 115 emitKey (readline.js: 1057: 12) –

+0

Sunucuda hiç bir pencereyi kontrol edemediğim gibi görünüyor ... Tarayıcı ve düğüm sunucusu arasındaki farkın pencereye karşı küresel olduğunu biliyorum. –

İlgili konular