Ayrı bir Javascript dosyası olmadan işçilerin Web?
Söyleyebileceğim kadarıyla, web çalışanlar ayrı bir JavaScript dosyasında yazılı olması gerekir, ve bu gibi:
new Worker('longrunning.js')
Kapatma derleyici ve tüm JavaScript kaynak kodu birleştirmek minify için kullanıyorum ve oldukça da dağıtım için ayrı dosyalarda benim işçi olması lazım. Bir şekilde bunu yapmak için var mı?
new Worker(function() {
//Long-running work here
});
Birinci sınıf fonksiyonları JavaScript için çok önemli o yüzden arka plan işi yapmak için standart yol bambaşka bir JavaScript sunucudan dosya? yük var mı
CEVAP
http://www.html5rocks.com/en/tutorials/workers/basics/#toc-inlineworkers
Ne olursa anında çalışan komut dosyası oluşturmak istiyorsanız, ya da ayrı bir işçinin dosyaları oluşturmak zorunda kalmadan, kendi kendine yeten bir sayfa oluşturmak? Blob (), "aynı HTML içinde çalışan bir URL bir dize olarak çalışan koda kolu oluşturarak ana mantık olarak dosya . içi edebilirsiniz
^ br .
BLOB tam örnek satır içi işçi:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<div id="log"></div>
<script id="worker1" type="javascript/worker">
// This script won't be parsed by JS engines because its type is javascript/worker.
self.onmessage = function(e) {
self.postMessage('msg from worker');
};
// Rest of your worker code goes here.
</script>
<script>
function log(msg) {
// Use a fragment: browser will only render/reflow once.
var fragment = document.createDocumentFragment();
fragment.appendChild(document.createTextNode(msg));
fragment.appendChild(document.createElement('br'));
document.querySelector("#log").appendChild(fragment);
}
var blob = new Blob([
document.querySelector('#worker1').textContent
], { type: "text/javascript" })
// Note: window.webkitURL.createObjectURL() in Chrome 10 .
var worker = new Worker(window.URL.createObjectURL(blob));
worker.onmessage = function(e) {
log("Received: " e.data);
}
worker.postMessage("hello"); // Start the worker.
</script>
</body>
</html>
Bir JavaScript baÅŸka bir JavaScript do...
Nasıl stil için bir <select> sad...
Yeni sayfa JavaScript kullanarak yükle...
OLUŞTURMAK ayrı bir TABLO olmadan SEÇİ...
Nasıl penceresinden karma kaldırmak iç...