naja ich habe ienfach von hier die SVG Datei gedownloaded und mit Photoshop bearbeitet.
https://www.flaticon.com/de/kostenloses…ge=1&position=3
aber genau da ist irgendwas falsch gelaufen beim Speichern.
naja ich habe ienfach von hier die SVG Datei gedownloaded und mit Photoshop bearbeitet.
https://www.flaticon.com/de/kostenloses…ge=1&position=3
aber genau da ist irgendwas falsch gelaufen beim Speichern.
so kommen wir nicht weiter...
warum machst du nicht einfach was vorgeschlagen wurde?
naja ich habe ienfach von hier die SVG Datei gedownloaded und mit Photoshop bearbeitet.
Warum hast du die Datei nicht erst getestet? Du hast sie womöglich beim Bearbeiten in Photoshop beschädigt. Photoshop ist eigentlich für Bilddateien in Pixelformaten gedacht, SVG ist jedoch ein Vektordateiformat. Jedenfalls habe ich mir diese Datei von der Seite heruntergeladen, die du angegeben hast und das Symbol wird bei mir angezeigt. Und es wurde ja auch bei dir angezeigt. Aber wahrscheinlich dann nicht mehr, als du sie verändert hattest. Da können wir auch nicht helfen. Wir können keine beschädigte Datei reparieren.
hier dann die 2 Datein.
geändert
123456789.svg
Nur mal so: Die Datei 123456789.svg ist keine SVG-Datei im eigentlichen Sinn. Ja, es ist eine Datei im SVG-Dateiformat, diese hat aber lediglich eine PNG-Datei als Base64 eingebettet. Du hast also tatsächlich nicht nur eine Kleinigkeit geändert, sondern etwas völlig anderes aus der Datei gemacht. Das passiert, wenn man in Photoshop eine Datei als SVG abspeichert, da kommen nur solche "Fake-SVG"s bei raus. Wenn du schon Adobe-Programme zum Bearbeiten von SVG-Dateien nutzen möchtest: Die Adobe-Software dafür ist nicht Photoshop, sondern Illustrator.
Obwohl keine echte SVG-Datei wird das Symbol bei mir auch mit 123456789.svg angezeigt, wenn auch sehr klein.
Illustrator
Wenn es nichts kosten darf, dann solltest du Inkscape nehmen.
Es ist doch sooo einfach
Die eine Datei ytdLive_on.svg ist ja eine richtige svg Datei
Einfach mit nem Texteditor öffnen und die Farbe von #e64c3c auf #6200a4 ändern
und alles klappt (habs gerade ausprobiert)
dafür müßte man erstmal wissen welche Farbe es ist
aber es klappt.
Danke, hat geklappt.
und dir auch ein Danke, deine erklärungen sind immer mehr als man eigentlich braucht.
Danke dafür.
dafür müßte man erstmal wissen welche Farbe es ist
https://www.color-hex.com/color/e64c3c
https://www.color-hex.com/color/6200a4
aber es klappt.
Das ist die Hauptsache
Wie in Beitrag 2 beschrieben, nur mit dem Unterschied, dass die rechte Maustaste und die Umschalttaste gedrückt werden müssen.
Und du meinst, dass das Dato noch nach 5 Monaten interessiert?
Den anscheinend überflüssigen Beitrag habe ich gelöscht.
och intressiert mich nicht wirklich mehr
nutze ja das Skript.
guten morgen,
mir ist gerade aufgefallen das das Script nicht mehr bei klick auf das Icon umschaltet.
Firefox 126.0 (64-Bit)
kann man das wieder hinbekommen ?
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'mediasource-enabled-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var attributes = {
id: 'mediasource-enabled-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'media.mediasource',
tooltiptext: Services.prefs.getBoolPref('media.mediasource.enabled') ?
'LiveStream ist an' : 'Video speichern ist an | 2mal RMT',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var a in attributes) {
button.setAttribute(a, attributes[a]);
};
function onCommand() {
var isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled');
Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled);
event.target.ownerGlobal.BrowserReload();
var windows = Services.wm.getEnumerator('navigator:browser');
while (windows.hasMoreElements()) {
let button = windows.getNext().document.getElementById('mediasource-enabled-button');
if (isEnabled)
button.setAttribute('tooltiptext', 'LiveStream ist an')
else
button.setAttribute('tooltiptext', 'Video speichern ist an | 2mal RMT');
};
};
return button;
}
});
} catch(e) { };
var css =
// xxx
'#mediasource-enabled-button[tooltiptext="LiveStream ist an"] {list-style-image: url(file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/x53rps7j.xxx/chrome/icon/ytd_LiveStream.svg)} ' +
'#mediasource-enabled-button[tooltiptext="Video speichern ist an | 2mal RMT"] {list-style-image: url(file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/x53rps7j.xxx/chrome/icon/ytd_SaveVideo.svg)} ';
var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
document.insertBefore(stylesheet, document.documentElement);
})();
Alles anzeigen
Hallo,
ersetze BrowserReload() durch BrowserCommands.reload().
besten Dank Sören.
Hallo,
könnte mir jemand dieses Script wieder zum laufen bingen?
Das Script macht, das man mit rechter Maustaste Videos speichern kann von Youtube.
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'mediasource-enabled-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var button = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var attributes = {
id: 'mediasource-enabled-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'media.mediasource',
tooltiptext: Services.prefs.getBoolPref('media.mediasource.enabled') ?
'LiveStream ist an' : 'Video speichern ist an | 2mal RMT',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var a in attributes) {
button.setAttribute(a, attributes[a]);
};
function onCommand() {
var isEnabled = !Services.prefs.getBoolPref('media.mediasource.enabled');
Services.prefs.setBoolPref('media.mediasource.enabled', isEnabled);
event.target.ownerGlobal.BrowserCommands.reload();
var windows = Services.wm.getEnumerator('navigator:browser');
while (windows.hasMoreElements()) {
let button = windows.getNext().document.getElementById('mediasource-enabled-button');
if (isEnabled)
button.setAttribute('tooltiptext', 'LiveStream ist an')
else
button.setAttribute('tooltiptext', 'Video speichern ist an | 2mal RMT');
};
};
return button;
}
});
} catch(e) { };
var css =
// xxx
'#mediasource-enabled-button[tooltiptext="LiveStream ist an"] {list-style-image: url(file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/zvjpsewu.xxx/chrome/icon/ytd_LiveStream.svg)} ' +
'#mediasource-enabled-button[tooltiptext="Video speichern ist an | 2mal RMT"] {list-style-image: url(file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/zvjpsewu.xxx/chrome/icon/ytd_SaveVideo.svg)} ';
var stylesheet = document.createProcessingInstruction('xml-stylesheet', 'type="text/css" href="data:text/css;utf-8,' + encodeURIComponent(css) + '"');
document.insertBefore(stylesheet, document.documentElement);
})();
Alles anzeigen
Das Script macht, das man mit rechter Maustaste Videos speichern kann von Youtube.
Dieses Script (als Alternative) macht das ähnlich, allerdings mit einem Linksklick (Das Icon sowie die Funktion schaltet nur im aktiven Fenster) auch in 138+ :
// JavaScript Document
// B_UserPrefMediaSource.uc.js
// Das Script erstellt einen Button, der in about:config boolsche Werte ändert. In der UserConfiguration unter 'const boolPref' kann die zu ändernde Einstellung festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (true/false).
// Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'.
// In einem neuen Profil ist die Einstellung in about:config 'media.mediasource.enabled, true' gesetzt. Allerdings werden einige Menuitems im Mediendropdown nicht angezeigt z.B.:'Video speichern unter'. Dieses Script toggelt 'media.mediasource.enabled, true'/'media.mediasource.enabled, false'. Die Einstellung 'media.mediasource.enabled, false' könnte z.B.: auf 'youtube.com' interessant sein ( =>'Video speichern unter'). Bei Livestreams (z.b.: 'ardmediathek.de/live/') kann es bei der Einstellung 'media.mediasource.enabled, false' zu Fehlermeldungen der Seite (Wiedergabefehler) kommen. Beim Umschalten wird der Seiteninhalt des AKTIVEN Tabs neu geladen.
(function() {
if (!window.gBrowser)
return;
const
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
id = 'UserPref-msE-button', // Id des neuen Buttons
boolPref = 'media.mediasource.enabled', // Einstellung in about:config deren boolesche Variable geschaltet werden soll (Wichtig: Beim Umschalten wird der Seiteninhalt des aktiven Tabs neu geladen)
labelT = 'Mediendropdown ohne DL-Item (Live-TV)', // Bezeichnung des neuen Buttons bei boolPref=true
labelF = 'Mediendropdown mit Dl-Item (Youtube)', // Bezeichnung des neuen Buttons bei boolPref=false
tooltiptextT = 'Mediendropdown ohne DownloadItem (Livestream)',
tooltiptextF = 'Mediendropdown mit DownloadItem (Youtube)',
// Icon-------------------------------------------------------
iconT = '16-control-panel-18_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=true
iconF = '16-control-panel-20_moz.svg', // [Name.Dateiendung] des anzuzeigenden Symbols für boolPref=false
bgImage = 'magenta', // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons,)
iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon beinhaltet
iconColorT = 'firebrick', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=true, bei anderen Icons hat const iconColorT keine Funktion)
iconColorF = 'forestgreen', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für boolPref=false, bei anderen Icons hat const iconColorF keine Funktion)
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
//const end
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
CustomizableUI.createWidget({
id: id,
type: 'button',
defaultArea: CustomizableUI.AREA_NAVBAR,
onCreated: (button) => {
button.style.MozContextProperties = 'fill, stroke, fill-opacity';
//bgImage
button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);';
//start
if (Services.prefs.getBoolPref(boolPref) == false ) {
button.style.fill = iconColorF;
button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
button.setAttribute('label', labelF);
button.setAttribute('tooltiptext', tooltiptextF);
}
else
if (Services.prefs.getBoolPref(boolPref) == true ) {
button.style.fill = iconColorT;
button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
button.setAttribute('label', labelT);
button.setAttribute('tooltiptext', tooltiptextT);
}
//click
button.addEventListener('click', () => {
if (event.button == 0) {
event.target.ownerGlobal.BrowserCommands.reloadSkipCache();
if (Services.prefs.getBoolPref(boolPref) == false ) {
button.style.fill = iconColorT;
Services.prefs.setBoolPref(boolPref, true);
button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
button.setAttribute('label', labelT);
button.setAttribute('tooltiptext', tooltiptextT);
}
else
if (Services.prefs.getBoolPref(boolPref) == true ) {
button.style.fill = iconColorF;
Services.prefs.setBoolPref(boolPref, false);
button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
button.setAttribute('label', labelF);
button.setAttribute('tooltiptext', tooltiptextF);
}
}
});
//----
}
});
//----
})();
Alles anzeigen