Es scheint, dass der source-Tag extra dafür da ist, um mehrere Videos unterschiedlicher Formate einbinden zu können, also oben in den Beispielen .mp4 und auch .ogg.
Beiträge von milupo
-
-
Soviel ich weiß, ist bei source der End-Tag verboten.
-
Probiere mal diese Version:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser) return; for (let key of document.querySelectorAll('key[keycode="VK_F12"]')) { key.setAttribute('disabled', 'true'); } let key = document.createXULElement('key'); key.id = 'closeTab'; key.setAttribute('keycode', 'VK_F12'); // key.setAttribute('oncommand', 'gBrowser.removeTab(gBrowser.selectedTab, {animate: true})'); document.getElementById('mainKeyset').appendChild(key); document.getElementById('closeTab').addEventListener('command', () => { gBrowser.removeTab(gBrowser.selectedTab, {animate: true}) }); })();
-
-
Was können die eval()-Funktionen?
Ich habe da kaum Ahnung, also lies, wenn du möchtest, folgende Seite:
eval() - JavaScript | MDNDie eval() Funktion wertet JavaScript-Code aus, der als String dargestellt wird, und gibt dessen Abschlusswert zurück. Die Quelle wird als Skript geparst.developer.mozilla.org -
Das Skript verwendet eval()-Funktionen. Der TE müsste wahrscheinlich die Einstellung security.allow_unsafe_dangerous_privileged_evil_eval in about:config auf true setzen.
-
Ich bin mir nicht sicher, wie das gemeint ist. Aber beide Erweiterungen fügen eine Schaltfläche hinzu.
In seinem Bildschirmfoto sehe ich die Symbole nicht, die auf AMO abgebildet sind. Das meinte ich. Das könnte sein, weil die Erweiterungen deaktiviert sind, entweder im normalen Modus oder, wie schon erwähnt, im privaten Modus.
-
Nein, die betreffenden Symbole sind nicht zu sehen, wenn man nach AMO geht:
FoE - Helper – Get this Extension for 🦊 Firefox (en-US)Download FoE - Helper for Firefox. Small tools and helpers for a better gaming experience in Forge of Empiresaddons.mozilla.orgPasswords & Codes-Safe – Wobstarajće sej rozšěrjenje za 🦊 Firefox (hsb)Sćehńće Passwords & Codes-Safe za Firefox. This extension allows to paste logins and passwords from SafeInCloud application.addons.mozilla.org -
-
Machst du vielleicht auch den Fehler, den ich auch oft mache? Den Text sofort abschicken, anstatt ihn sich erst einmal in der Vorschau anzusehen?
-
-
Natürlich muss es .style.fille = '#ffe10f'; heißen
Nö, style.fill.
-
Gib about:config einfach in die Adressleiste ein. Bestätige die eventuell erscheinende Warnung und du bist im Fenster von about:config. Oben ist ein Suchfeld. Gib dort die oben genannte Einstellung ein.
-
-
In JavaScript kannst du auch zwei Schrägstriche verwenden: //. Die musst du aber vor jede Zeile setzen, da sie nur eine einzelne Zeile auskommentieren. In CSS gibt es diese Möglichkeit nicht, da gibt es nur /* ... */.
-
Es wird wenn dann wahrscheinlich sogar so sein, dass User mit Problemem bei einem Skript ihre Frage dann in diesem Unterunterforum stellen
Du liest nicht richtig, was ich schreibe:
Ich hatte dabei nie ein spezielles Unterforum vorgeschlagen, sondern nur einen eigenen Thread
Und zwar im Unterforum Anpassungen.
Ich hatte ja einen angepinnten Thread im Unterforum Anpassungen vorgeschlagen
-
Bloß frage ich mich, was es bringen soll, Leute vorab auszuschließen, von denen man gar nicht weiß, ob sie hilfreich sein könnten? Und das gerade bei einer dünnen "Personaldecke"?
Es geht eigentlich nicht darum bestimmte Leute auszuschließen und wenn jemand bei der Diskussion mitmachen will kann man ihn auch dazu einladen. Mir geht es darum, normale Nutzer, die lediglich ihre Probleme vorbringen erst einmal auszuschließen, damit die Helfer in aller Ruhe über eine einheitliche Vorgehensweise diskutieren können, die dann eben diesen Nutzern zugute kommt. Ich hatte dabei nie ein spezielles Unterforum vorgeschlagen, sondern nur einen eigenen Thread, gegen den du ja anscheinend auch nichts hast:
Dem stimme ich zu, obwohl ich mir die Frage stelle, ob nicht jeweils ein eigener Thread für Lösungsansätze zu einem generellen Problem ausreichend ist?
-
Ich hatte ja einen angepinnten Thread im Unterforum Anpassungen vorgeschlagen, aber soweit ich das sehen kann, hat sich niemand dazu geäußert.
Für mich klingt das nach einem exklusiven Kreis von selbsternannten "Entwicklern". Wer bestimmt denn, wer zu diesem "Foren-Separee" Zutritt bekommt? Gibt es dann neben Administrator/Moderator, noch die Gruppe des gemeinen Entwicklers (nur Leserechte) und des Top-Entwicklers (Lese-/Schreibrechte)?
Das ist nun wiederum aus meiner Sicht Quatsch. Du weißt genau, wie die Personaldecke bei den Helfern aussieht. Hier müssen sich Helfer mit Halbwissen zusammenraufen. Ich weiß nicht, wie du dich verstehst, aber der wirklich einzige Entwickler hier im Forum ist Sören. Hier wollen und müssen sich Helfer zusammentun, um hilfesuchenden Nutzern die beste Hilfe bieten zu können.
-
pro100user Probiere folgende Skriptversion:
JavaScript
Alles anzeigenvar gExternalApplications = { type: 'button', //'menu' or 'button' insertafter: 'PersonalToolbar', apps: [ {name: 'C:', path: 'C:\\'}, {name: 'D:', path: 'D:\\'}, {name: 'E:', path: 'E:\\'}, {name: 'F:', path: 'F:\\'}, ], init: function() { for (var i=0; i<this.apps.length; i++) { if (!this.apps[i].path) continue; if (!this.apps[i].args) this.apps[i].args = []; this.apps[i].path = this.apps[i].path.replace(/\//g, '\\'); var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get('CurProcD', Ci.nsIFile).path; if (/^(\\)/.test(this.apps[i].path)) { this.apps[i].path = ffdir.substr(0,2) + this.apps[i].path; } else if (/^(\.)/.test(this.apps[i].path)) { this.apps[i].path = ffdir + '\\' + this.apps[i].path; } } if (this.type == 'menu') { var mainmenu = document.getElementById('main-menubar'); // das war das Original var menu = mainmenu.appendChild(document.createXULElement('menu')); menu.setAttribute('label', 'Start'); // Menu = "Start" menu.setAttribute('accesskey', 'a'); var menupopup = menu.appendChild(document.createXULElement('menupopup')); for (var i=0; i<this.apps.length; i++) { menupopup.appendChild(this.createMenuitem(this.apps[i])); } } else { var menubarItems = document.getElementById(this.insertafter); var toolbar = menubarItems.parentNode.insertBefore(document.createXULElement('toolbar'), menubarItems.nextSibling); toolbar.id = 'ExtAppButtons'; toolbar.setAttribute("class", "browser-toolbar chromeclass-toolbar-additional"); toolbar.setAttribute("orient", "horizontal"); for (var i=0; i<this.apps.length; i++) { toolbar.appendChild(this.createButton(this.apps[i])); } } }, exec: function(path, args) { for (var i=0; i<args.length; i++) { args[i] = args[i].replace(/%u/g, gBrowser.currentURI.spec); } var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile); file.initWithPath(path); if (!file.exists()) { throw 'File Not Found: ' + path; } if (!file.isExecutable() || args.length==0) { file.launch(); } else { var process = Cc['@mozilla.org/process/util;1'].getService(Ci.nsIProcess); process.init(file); process.run(false, args, args.length); } }, createButton: function(app) { if (app.name == 'separator') return document.createXULElement('toolbarseparator'); var item = document.createXULElement('toolbarbutton'); item.setAttribute('class', 'bookmark-item'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); //item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.addEventListener ('click', function (event) { if (event.button == 0) { gExternalApplications.exec(this.path, this.args); } }); // item.setAttribute('tooltiptext', app.name); item.path = app.path; item.args = app.args; return item; }, createMenuitem: function(app) { if (app.name == 'separator') return document.createXULElement('menuseparator'); var item = document.createXULElement('menuitem'); item.setAttribute('class', 'menuitem-iconic'); item.setAttribute('label', app.name); item.setAttribute('image', 'moz-icon:file:///' + app.path + '?size=16'); //item.setAttribute('oncommand', 'gExternalApplications.exec(this.path, this.args);'); item.addEventListener ('click', function (event) { if (event.button == 0) { gExternalApplications.exec(this.path, this.args); } }); item.path = app.path; item.args = app.args; return item; } }; gExternalApplications.init();
Klicke auf das Symbol im Kasten oben rechts. Dann wird der Text aus dem Code-Kasten in die Zwischenablage kopiert und du kannst dann den Skript-Text in deinen Editor einfügen.
Bitte setze nicht jede Zeile in ein Kästchen! Das ist total unübersichtlich! Klicke stattdessen auf das Symbol links daneben, das einen Code-Kasten in das Antworten-Fenster einfügt, mit dem du den vollständigen Text in einem einzigen Kasten einfügen kannst.
-
bege Das Skript, welches der pro100user verwendet, ist ein anderes, nämlich External-Applications.uc.js, mit dem man externe Anwendungen starten kann. pro100user „missbraucht“ es aber, um Partitionen aufzurufen statt Anwendungen.