JScript, JavaScript özellik seti as it existed in IE8'u kullanır. Windows 10'da bile, Windows Komut Dosyası Sistemi, JScript 5.7 ile sınırlıdır. Bu MSDN documentation açıklıyor: Eğer bu yöntemi çağırmak için izin hiçbir anahtarları var sonuçta demektir
Starting with JScript 5.8, by default, the JScript scripting engine supports the language feature set as it existed in version 5.7. This is to maintain compatibility with the earlier versions of the engine. To use the complete language feature set of version 5.8, the Windows Script interface host has to invoke IActiveScriptProperty::SetProperty .
... cscript.exe
beri ve wscript.exe
Microsoft Chakra motoru kilidini açmak için kendi komut ana yazmanızı öneriyor.
Yine de bir çözüm var. htmlfile
COM nesnesini çağırabilir, IE9 (veya 10 veya 11 veya Kenar) uyumluluğuna zorlayabilir, ardından istediğiniz yöntemleri (Array.forEach()
, JSON yöntemleri vb. Dahil) içe aktarabilirsiniz. İşte kısa bir örnek:
var htmlfile = WSH.CreateObject('htmlfile');
htmlfile.write('<meta http-equiv="x-ua-compatible" content="IE=9" />');
// And now you can use htmlfile.parentWindow to expose methods not
// natively supported by JScript 5.7.
Array.prototype.forEach = htmlfile.parentWindow.Array.prototype.forEach;
Object.keys = htmlfile.parentWindow.Object.keys;
htmlfile.close(); // no longer needed
// test object
var obj = {
"line1" : "The quick brown fox",
"line2" : "jumps over the lazy dog."
}
// test methods exposed from htmlfile
Object.keys(obj).forEach(function(key) {
WSH.Echo(obj[key]);
});
Çıktı:
The quick brown fox
jumps over the lazy dog.
birkaç diğer yöntemler demonstrated in this answer vardır - JSON.parse()
, String.trim()
ve Array.indexOf()
.