مثال HTML 5 Web Worker لا يعمل في 8.0.552.231
-
25-09-2019 - |
سؤال
أنا أتابع هذا المثال على: http://www.whatwg.org/specs/web-work/current-work/
page.html
<!DOCTYPE HTML>
<html>
<head>
<title>Worker example: One-core computation</title>
</head>
<body>
<p>The highest prime number discovered so far is: <output id="result"></output></p>
<script>
var worker = new Worker('worker.js');
worker.onmessage = function (event) {
document.getElementById('result').textContent = event.data;
};
</script>
</body>
</html>
العامل
var n = 1;
search: while (true) {
n += 1;
for (var i = 2; i <= Math.sqrt(n); i += 1)
if (n % i == 0)
continue search;
// found a prime!
postMessage(n);
}
يعمل هذا المثال بشكل جيد في إصدار Firefox و Safari 5.0.2 (6533.18.5) على Mac OSX ولكنه لا يعمل في Chrome. عندما أقوم بتصحيحها ، لم يتم إدراج Worker.js كواحد من المصادر. ما هو غريب هو أن رابط صفحة المثال على الموقع نفسه يعمل بشكل جيد في Chrome ، وهو نفس الرمز مثل الرمز المحلي الخاص بي. لكن الكود المحلي الخاص بي لا يعمل في Chrome.
عندما أحاول تشغيل رمز يدويًا في جافا سكريبت مصحح مثل هذا
var w = new Worker('worker.js')
أحصل على خطأ يقول:
Error: SECURITY_ERR: DOM Exception 18
هل لدى أي شخص آخر هذه التجربة؟ هل يستطيع أحدكم اقتراح حل؟
شكرًا
المحلول
هل تشاهد هذا الملف في file:///
بروتوكول أو أكثر http://
؟ سيكون عليك خدمة الصفحة حتى يتمكن الأمان من معالجتها بشكل صحيح.
خطأ غير معطل: Security_err: DOM استثناء 18 عندما أحاول تعيين ملف تعريف الارتباط
نصائح أخرى
RXGX على الفور ، لقد رأيت هذا الخطأ في كثير من الأحيان. بالنسبة للحل ، إما شراء بعض الاستضافة المشتركة الرخيصة للتطوير ، أو ، قم بتشغيل خادم ويب من الجهاز الخاص بك. لنظام التشغيل Windows ، قم بتنزيل وتثبيت Apache Installer المتاح من مؤسسة Apache ، واتبع الإرشادات. بالنسبة لـ Mac OS X ، فقط قم بتمكين مشاركة الويب في قسم المشاركة في تفضيلات النظام. بالنسبة إلى Linux ، قم بتثبيت حزمة Apache أو LightTPD من خلال مدير الحزمة.