JavaScript-Engines – ein kleiner Überblick

2018-03-17 von Mario

Eine JavaScript-Engine ist ein Programm oder Interpreter, welches JavaScript-Code ausführen kann. Anwendung finden JavaScript-Engines meistens in Webbrowsern.

Einige der bekanntesten sind in der Tabelle aufgeführt:

Engine Entwickler Browser Programmiersprache
V8 Google Chrome, Opera  C++
Rhino Mozilla Foundation Firefox  Java
SpiderMonkey Netscape Netscape Navigator  C/C++
JavaScriptCore Apple Safari  C++
KJS KDE Projekt Konqueror  C++
Chakra Microsoft Internet Explorer  C++

 

V8

Die Chrome V8 oder einfach ausgedrückt V8, ist eine von Google entwickelte JavaScript-Engine. V8 kompiliert JavaScript direkt in nativen Maschinencode, bevor dieser ausgeführt wird. V8 ist für die Plattformen x86, ARM oder MIPS Architekturen ausgelegt (32- und 64-Bit).

Rhino

Rhino ist vollständig in Java geschrieben und wurde von der Mozilla Foundation entwickelt. Rhino kompiliert JavaScript in Java-Bytecode, kann diesen aber auch zur Laufzeit interpretieren.

SpiderMonkey

SpiderMonkey ist in C/C++ geschrieben und wurde von Netscape entwickelt. SpiderMonkey diente der Mozilla Foundation als Grundlage zur Entwicklung von Rhino.

JavaScriptCore

JavaScriptCore ist eine Abspaltung von KJS und wird von Apple weiterentwickelt. Vor der Ausführung wird JavaScript in Bytecode übersetzt, welches direkt zur Maschinensprache kompiliert.

KJS

KJS wurde ursprünglich von Harri Porten für den KDE Webbrowser Konqueror entwickelt.

Chakra

Chakra (JScript9) ist eine JavaScript-Engine, welche von Microsoft entwickelt wurde. ChakraCore (JavaScript) ist ein Teil von Chakra und ist eine JavaScript-Engine für den Microsoft Edge Browser. Chakra ist für die Plattformen x86/x64/ARM Architekturen ausgelegt.

 

Weiterführende Links

https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
https://en.wikipedia.org/wiki/Chakra_(JScript_engine)
https://github.com/Microsoft/ChakraCore
https://developers.google.com/v8/
https://developer.apple.com/documentation/javascriptcore
https://en.wikipedia.org/wiki/Comparison_of_web_browser_engines
https://de.wikipedia.org/wiki/Rhino_(Programmierung)
https://developer.mozilla.org/de/docs/Rhino
https://github.com/alrra/browser-logos

Kategorie: IT Schlagwörter: , , ,

Javascript: find the id and show in the title of the element

2012-05-13 von Mario

This script shows the ID, if you move your mouse over the item.

 

function findIDandSetToTitle(obj) {

    //loop over all nodes of the obj
    for (i=0; i<obj.childNodes.length; i++) {

        if (obj.childNodes[i].tagName == "INPUT" && 
(obj.childNodes[i].type == "text" || obj.childNodes[i].type == "checkbox" 
|| obj.childNodes[i].type == "radio") ||
            obj.childNodes[i].tagName == "SELECT" ||
            obj.childNodes[i].tagName == "TEXTAREA" ||
            obj.childNodes[i].tagName == "A"
            )
        {
            obj.childNodes[i].title = "ID:" + obj.childNodes[i].id;
        }  

    }
}

 

Live Demo: Click
Download Demo: Example_find_ids.zip

Kategorie: IT Schlagwörter: , , , ,

jQuery: find parent form and make all textfields inside the form editable

2012-03-03 von Mario

This little jQuery script shows a solution for my next challenge.
It should be found, the parent form when the “bearbeiten” button was pressed.
After that, all the fields inside the form must be editable.

 

Live Demo: Click
Download Demo: Demo_001.zip

$(document).ready(function () {
   $("input:text").attr('disabled', 'disabled');
});

$('input:button[name="bearbeiten"]').click(function() {
   setEditable(this);
});

function setEditable(_this) {

   $(_this).closest("form").find("input:text").each(function(index, elem ) {
      $(elem).removeAttr('disabled');
   });
}

thanks goes to: A.K. ;)

Kategorie: IT Schlagwörter: , , , , , ,