Ich bin verrückt und brauche deine Hilfe. Ich arbeite an einem Servicearbeiter-Projekt und ich habe es mit einem Javascript-Problem zu tun. Ich habe zwei Hauptdateien. Die server.html
Datei, in der ich die externe service-worker.js
Datei in Zeile 52
aufrufen. Hier ist meine server.html
DateiZugriff dom von Web Worker
<body>
<div class="container">
<h1>PRESENTER</h1>
<div id="nicky">Nickname: <span id="nickname"></span></div>
<form id="form-nick" name="form-nick" method="post" action="">
<div class="formelement">
<label name="labelnick" for="nick">Nickname:</label>
<input type="text" id="nick" name="nick">
<button type="submit">OK</button>
</div>
</form><br /><br />
<h1>--></h1><div id="talker"></div>
<button type="button" class="button blue" id="blue-display" disabled></button><br />
<button type="button" class="button red" disabled></button><br />
<button type="button" class="button lightblue" disabled></button>
</div> <!-- container -->
<script type="text/javascript">
$(document).ready(function() {
console.log("jquery ready function");
$('#nick').focus();
$('#form-nick').submit(function(){
var form = $('#form-nick');
var data = form.serialize();
$.post('nicky.php', data, function(response) {
if (response) {
$('#nicky').show();
$('#nickname').text(response);
$('#form-nick').hide();
$('.blue, .red, .lightblue').fadeIn(100);
if('serviceWorker' in navigator){
// Register service worker
navigator.serviceWorker.register('service-worker.js').then(function(reg){
console.log("SW registration succeeded. Scope is "+reg.scope);
}).catch(function(err){
console.error("SW registration failed with error "+err);
});
}
} else {
}
});
return false;
});
});
</script>
</body>
und hier ist die Service-worker.js Datei
// Install Service Worker
self.addEventListener('install', function(event){
console.log('>> sw installed!');
});
// Service Worker Active
self.addEventListener('activate', function(event){
console.log('>> sw activated!');
});
// Service Worker reveives message
self.addEventListener('message', function(event){
console.log(event.data);
send_message_to_all_clients(event.data);
document.getElementById("talker").innerHTML = event.data;
});
In der letzten Zeile würde Ich mag die empfangene Nachricht in den div einfügen " Redner ". Aber ich bekomme immer die Fehler Service-worker.js: 17 Uncaught Reference: Dokument ist nicht definiert
Ich kümmere mich, dass ich die js-Datei laden, nachdem das Dokument geladen wird. Jetzt weiß ich nicht, was ich falsch mache. Danke.
-Code in einem Servicemitarbeiter keinen Zugang zu einem Dokument lesen gearbeitet. – Pointy
Was ist Ihr Ziel bei der Verwendung eines Service-Arbeiters? Im Gegensatz zu einem geteilten Arbeiter oder nur einem Arbeiter? –