2014-10-09 16 views
7
WebSocket connection to 'ws://localhost:35729/livereload' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED chromereload.js:9 
'WebSocket.URL' is deprecated. Please use 'WebSocket.url' instead. chromereload.js:12 

Otrzymuję ten komunikat o błędzie w moim rozszerzeniu chrome, ponieważ Chrome zaktualizowany do wersji 38. Nie jestem do końca pewien co tu się dzieje, ale teraz otwieranie większości rzeczy powoduje rozszerzenie awarię. Na początku użyłem narzędzia do budowy rusztowań i wszystko działało dobrze. Próbowałem usunąć livereload z manifestu, ale wydaje się, że wszystko to zepsuje. Każda pomoc będzie doceniona."WebSocket.URL" jest przestarzałe. Proszę użyć "WebSocket.url" zamiast

Oto kod:

'use strict'; 

// Reload client for Chrome Apps & Extensions. 
// The reload client has a compatibility with livereload. 
// WARNING: only supports reload command. 

var LIVERELOAD_HOST = 'localhost:'; 
var LIVERELOAD_PORT = 35729; 
var connection = new WebSocket('ws://' + LIVERELOAD_HOST + LIVERELOAD_PORT + '/livereload'); 

connection.onerror = function (error) { 
    console.log('reload connection got error' + JSON.stringify(error)); 
}; 

connection.onmessage = function (e) { 
    if (e.data) { 
     var data = JSON.parse(e.data); 
     if (data && data.command === 'reload') { 
      chrome.runtime.reload(); 
     } 
    } 
}; 
+0

Cóż, czy próbowałeś zmienić 'WebSocket.URL' na' WebSocket.url'? – Brad

+0

Jak widać, nic w tym kodzie nie odnosi się do 'WebSocket.URL', co oznacza, że ​​błąd jest gdzie indziej. Wykonaj wyszukiwanie w poszukiwaniu plików kodu źle postępującego. – Xan

+0

widzimy to samo i nie używamy .URL, wymyśliłeś to? – artfulhacker

Odpowiedz

6

W Chrome ta wiadomość jest emitowany przy użyciu coś podobnego JSON.stringify() lub podobny na obiekcie websocket. Tego typu procedury będą uzyskiwać dostęp do właściwości WebSocket.URL, która jest nieaktualna i wyśle ​​to ostrzeżenie. Nawet jeśli twój kod nie wywołuje jawnie WebSocket.URL. Możesz usunąć tę usługę, aby wyłączyć ostrzeżenie z Chrome.

var ws = new WebSocket('wss://example.com/'); 
delete ws.URL; 
console.log(JSON.stringify(ws)); 
Powiązane problemy