إذا قمت بتعيين href
لعنصر إلى javascript:void(0);
(مقابل #
) ، مثل:
$('#foobar').attr("href", "javascript:void(0);");
تلتقط JSHint بناء javascript:void(0);
كعنوان URL للبرنامج النصي:
PS C:\Users\hal9000\Development\strugee.github.com> grunt lint
Running "jshint:all" (jshint) task
js\main.js
30 | $('#lightbulb-icon').attr("href", "javascript:void(0);");
^ Script URL.
>> 1 error in 4 files
في حين أنها في الحقيقة لا تفعل أي شيء وتكون صالحة من الناحية المعنوية. يجب أن يكون هناك استثناء لهذه الأنواع من عناوين URL للبرامج النصية.
لا تهتم .
ربما يجب أن يكون هذا تحذيرًا متخصصًا؟ لا يمكنني أن أكون الوحيد الذي أربك هذا الأمر.
أنت لست.
فقط ضع هذا السطر أعلى ملفك لتعطيل التحذير:
/*jshint scripturl:true*/
لكن أفضل طريقة هي استخدام "#" في href وإرجاع "false" لجميع أحداث جافا سكريبت:
<a href="#" onclick="doSomething();return false;">my link</a>
لا ، أفضل طريقة هي إبقاء JavaScript بعيدًا عن الترميز والسمات: P
rwaldron : التصحيح ، في الواقع
$('#foobar').attr("href", "#").click(function() {
// do it
});
يمر jslint:
$('#foobar').attr('href','javascript'+String.fromCharCode(58)+'void(0);');
MikeGodin يبدو وكأنه خطأ منفصل.
kcampion وضع # وإرجاع خطأ ليس دائما ديناجبال
في حالتي لا أريد ظهور التجزئة
التعليق الأكثر فائدة
فقط ضع هذا السطر أعلى ملفك لتعطيل التحذير:
لكن أفضل طريقة هي استخدام "#" في href وإرجاع "false" لجميع أحداث جافا سكريبت: