Hallo milupo..
ändert leider auch nichts.
Vielen Dank für deine Mühe.
Wahrscheinlich funktioniert das sowieso nicht was ich mir vorstelle.
TM ist in dem Moment nicht aktiv, und genau das ist das Problem. :-??
Hallo milupo..
ändert leider auch nichts.
Vielen Dank für deine Mühe.
Wahrscheinlich funktioniert das sowieso nicht was ich mir vorstelle.
TM ist in dem Moment nicht aktiv, und genau das ist das Problem. :-??
Wahrscheinlich funktioniert das sowieso nicht was ich mir vorstelle.
TM ist in dem Moment nicht aktiv, und genau das ist das Problem. :-??
Und über Aktiviert kannst du es nicht einschalten? Vielleicht musst du auch nur mal hin- und herschalten, auch wenn das Häkchen da vorhanden ist. Was sagt der Add-on-Manager?
TM ist in dem Moment nicht aktiv
Fehler von mir, sorry.
TM ist wohl aktiv, aber kein Script auf der Seite mit der (Fehlermeldung).
Kann man ja auch im Screenshot Seite 19 gut erkennen.
Ich habe hier noch ein uraltes Script welches aborix mir mal geschrieben hatte: :klasse:
(function() {
if (location != 'chrome://browser/content/browser.xul')
return;
function frameScript() {
const urls = [
'https://www.camp-firefox.de/forum/viewonline.php',
'https://www.camp-firefox.de/forum/viewforum.php?f=1',
'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=a&sg=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=a&sd=a&start=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=b&sd=d&start=0',
'https://www.camp-firefox.de/forum',
'https://www.camp-firefox.de/forum/index.php'
];
const t = 5000;
const t2 = 5000;
var tId, tId2;
function doCheckUrlRld(a_t) {
clearTimeout(tId2);
if (!content)
return;
content.clearTimeout(tId);
if (urls.indexOf(content.location.href) < 0)
return;
tId2 = setTimeout(function() {
doCheckUrlRld(0);
}, a_t + t2);
tId = content.setTimeout(function() {
content.location.reload();
}, a_t);
};
if (urls.indexOf(content.location.href) >= 0) {
tId2 = setTimeout(function() {
doCheckUrlRld(0);
}, t2);
content.location.reload();
};
function checkUrlRld() {
doCheckUrlRld(t);
};
addEventListener('pageshow', checkUrlRld);
addMessageListener('deactivateMsg', function handleMsg() {
removeEventListener('pageshow', checkUrlRld);
content.clearTimeout(tId);
try {
clearTimeout(tId2);
} catch(e) { };
removeMessageListener('deactivateMsg', handleMsg);
});
};
var frameScriptURI = 'data:,(' + frameScript.toString() + ')();';
var item = document.createElement('menuitem');
item.id = 'autoReloadItem';
item.setAttribute('type', 'checkbox');
item.setAttribute('label', 'Automatisch neu laden');
var refItem = document.getElementById('menu_openDownloads');
refItem.parentNode.insertBefore(item, refItem);
refItem.parentNode.insertBefore(document.createElement('menuseparator'), item.nextSibling);
item.setAttribute('accesskey', '');
item.setAttribute('key', 'key_autoReload');
var key = document.createElement('key');
key.id = 'key_autoReload';
key.setAttribute('key', 'L');
key.setAttribute('modifiers', 'accel,shift');
key.setAttribute('oncommand', 'document.getElementById("autoReloadItem").click();');
var refKey = document.getElementById('key_openDownloads');
refKey.parentNode.insertBefore(key, refKey);
const prefs = Services.prefs;
const prefActive = 'extensions.userchromejs.autoreload.active';
var globalMM = Cc['@mozilla.org/globalmessagemanager;1'].getService(Ci.nsIMessageListenerManager);
if (prefs.getPrefType(prefActive) != prefs.PREF_BOOL)
prefs.setBoolPref(prefActive, false);
if (prefs.getBoolPref(prefActive)) {
item.setAttribute('checked', 'true');
var n = 0;
checkWindow();
};
function checkWindow() {
if (window.__SSi) {
if (window.__SSi.substring(6) == '0') {
globalMM.loadFrameScript(frameScriptURI, true);
};
} else {
if (n < 100) {
n++;
setTimeout(checkWindow, 100);
};
};
};
item.addEventListener('command', function() {
toggleActive();
});
function toggleActive() {
prefs.setBoolPref(prefActive, !prefs.getBoolPref(prefActive));
if (prefs.getBoolPref(prefActive)) {
globalMM.loadFrameScript(frameScriptURI, true);
for (let win of Application.windows) {
win._window.document.getElementById('autoReloadItem').setAttribute('checked', 'true');
};
} else {
globalMM.broadcastAsyncMessage('deactivateMsg');
globalMM.removeDelayedFrameScript(frameScriptURI);
for (let win of Application.windows) {
win._window.document.getElementById('autoReloadItem').removeAttribute('checked');
};
};
};
})();
Alles anzeigen
Damit funktioniert alles einwandfrei.
Aber leider funktioniert das Script nicht mehr in Fx 67. Ich habe es eben mal in Fx 56 getestet, und alles war wie ich es wollte.
Also müsste dieses uc.js Script (nur) angepasst werden. :-??
Tja, dann kommt hier meine wohl letzte Idee:
Gehe mal in die Übersicht von Tampermonkey. Mache ein Häkchen vor dem skript rein. Jetz erscheint oben eine Zeile
Die gewählte Aktion auf alle markierten Scripte anwenden und daneben
-- Bitte wählen Sie eine Aktion aus --
Probiere alle Aktionen mal aus. Aber das Standby-Problem wird es wohl auch nicht lösen. Oder vielleicht in Zusammenhang mit der Einstellung aus Beitrag 40.
Ansonsten muss ich wohl jetzt kapitulieren.
Ich habe hier noch ein uraltes Script welches aborix mir mal geschrieben hatte: :klasse:
Aber leider funktioniert das Script nicht mehr in Fx 67. Ich habe es eben mal in Fx 56 getestet, und alles war wie ich es wollte.Also müsste dieses uc.js Script (nur) angepasst werden. :-??
Also, da gibt es auf jeden Fall zwei Dinge, die aber erst ab Fx 69 greifen:
createElement --> createXULElement
browser.xul --> browser.xhtml
Eins habe ich noch gesehen:
In Zeile 92 wird auf die Erweiterung userChromeJS Bezug genommen, die wir ja nicht mehr verwenden. Da das Skript aber in Fx 56 funktioniert, würde das bedeuten, dass du diese Erweiterung in deinem Fx56-Profil installiert hast. Hast du?
dass du diese Erweiterung in deinem Fx56-Profil installiert hast. Hast du?
In meinem alten Fx 56 war das Script und die Erweiterung noch vorhanden.
In meinem alten Fx 56 war das Script und die Erweiterung noch vorhanden.
Kommentiere diese Zeile mal aus und teste.
Kommentiere diese Zeile mal aus und teste.
War auch mein erster Gedanke...aber wäre ja zu einfach gewesen :wink:
War auch mein erster Gedanke...aber wäre ja zu einfach gewesen :wink:
Ja, wenn ich mir gleich die Mühe gemacht hätte weiterzulesen, dann hätte ich da schon gesehen, dass die Konstante prefActive, die in Zeile 92 definiert wird, im Weiteren verwendet wird. In Zeile 92 müsste also ein anderer Wert zugewiesen werden oder das Skript müsste umgeschrieben werden. Dann wären wir wohl endgültig bei aborix angekommen.
Dann wären wir wohl endgültig bei aborix angekommen.
Ich werde ihm morgen mal eine PN schicken...evtl. hat er ja Zeit und Lust sich das mal anzusehen.
Ich denke wir belassen es erstmal wie es ist, ganz herzlichen Dank für deine Zeit und Mühe :klasse:
Ein letzter Versuch noch; ist auch ein steinaltes Skript, aber vielleicht funktioniert es doch:Dieser Thread:
https://www.camp-firefox.de/forum/viewtopi…109967&start=30
Beiträge #38, #40 uns #48.
Vergiss es, Zeile 92 in Grün.
Teste folgendes userChromeJS-Skript, das auf dem Tampermonkey-Skript basiert.
Die Urls bei const urls müssen mit denen der betreffenden Seiten genau übereinstimmen.
Die Strings bei const urlPrefixes müssen Anfangsabschnitte der Urls der betreffenden Seiten sein (entspricht in der Tampermonkey-Syntax mit * am Ende).
(function() {
if (!window.gBrowser)
return;
let frameScript = function() {
function urlMatches(aUrl) {
const urls = [
'https://www.firefox-forum.com/',
'https://www.camp-firefox.de/forum/viewforum.php?f=1',
'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=a&sg=0',
'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=d&sg=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=a&sd=a&start=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=b&sd=d&start=0',
'https://www.camp-firefox.de/forum/viewonline.php'
];
const urlPrefixes = [
'https://www.camp-firefox.de/forum/index.php',
'https://www.camp-firefox.de/forum/memberlist.php?mode='
];
return urls.includes(aUrl) || urlPrefixes.some(string => aUrl.startsWith(string));
};
addEventListener('DOMContentLoaded', function(event) {
let document = event.target;
if (!urlMatches(document.URL))
return;
let timId;
if (!document.hidden) {
timId = content.setTimeout(function() {
document.location.reload();
}, 9000);
}
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
content.clearTimeout(timId);
} else {
document.location.reload();
}
});
});
};
let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
window.messageManager.loadFrameScript(frameScriptURI, true);
})();
Alles anzeigen
Ja, danke aborix, das Skript funktioniert im Nightly. Die Sache mit dem Standby-Modus überlasse ich Andreas.
Hallo aborix..
vorweg herzlichen Dank für die Hilfe :klasse:
Die Sache mit dem Standby-Modus
Das Script funktioniert einwandfrei.
Nur daran hat sich leider nichts verändert, es sieht dann wie gehabt so aus:
[attachment=0]Screenshot (454).png[/attachment]
Und es gibt dann keinen erneuten automatischen reload um die Forenseite wieder zu öffnen.
Ich muss also entweder unten rechts den Button anklicken, oder eben F5.
PS:
Das ist aber kein wirkliches Problem, wenn du deine Zeit besser für etwas anderes verbringen möchtest/kannst, ist das völlig ok.
Bin dann auch für heute offline. Dir einen schönen Abend noch.
Andreas, gib doch mal jede Adresse einzeln in die Adressleiste ein, um herauszufinden, welche der Adressen wirklich nicht geladen wird. Es ist sicherlich nicht die reine Domainadresse https://www.camp-firefox.de.
Hallo milupo und aborix.
Ich denke mal ich habe einen Gedankenfehler bis jetzt gehabt. :-??
Wie man auf dem Screenshot erkennen kann, besteht in dem Moment ja keine Verbindung zum Server vom Forum. Also kann auch keines der Scripte greifen, denn damit werden ja die Seiten vom Forum angesprochen.
Aus dem Grund wird mir von Tampermonkey auch angezeigt, dass es zwar aktiv ist, aber eben kein Script für dieses Seite geladen wurde.
Es müsste also wenn dann wohl ein ganz anderes Script erstellt werden.
Und zwar müsste es die Funktion automatisch übernehmen, einen Klick auf den Button: Nochmals versuchen zu übernehmen. Denn dadurch wird ja wieder eine Verbindung zu der noch vorhandenen Url in der Adressleiste übernommen.
Es geht also gar nicht mal nur um die Forenseite, sondern immer um die Seite die noch in der Adressleiste steht, als die Verbindung unterbrochen wurde.
Ich hoffe es einigermaßen verständlich erklärt zu haben.
Teste:
(function() {
if (!window.gBrowser)
return;
let frameScript = function() {
function urlMatches(aUrl) {
const urls = [
'https://www.firefox-forum.com/',
'https://www.camp-firefox.de/forum/viewforum.php?f=1',
'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=a&sg=0',
'https://www.camp-firefox.de/forum/viewonline.php?sk=a&sd=d&sg=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=a&sd=a&start=0',
'https://www.camp-firefox.de/forum/viewonline.php?sg=0&sk=b&sd=d&start=0',
'https://www.camp-firefox.de/forum/viewonline.php'
];
const urlPrefixes = [
'https://www.camp-firefox.de/forum/index.php',
'https://www.camp-firefox.de/forum/memberlist.php?mode='
];
return urls.includes(aUrl) || urlPrefixes.some(string => aUrl.startsWith(string));
};
addEventListener('DOMContentLoaded', function(event) {
let document = event.target;
if (!urlMatches(document.location.href))
return;
let timId;
if (!document.hidden) {
let wait = 9000;
if (document.URL.startsWith('about:neterror?')) {
wait = 1000;
};
timId = content.setTimeout(function() {
document.location.reload();
}, wait);
};
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
content.clearTimeout(timId);
} else {
document.location.reload();
}
});
});
};
let frameScriptURI = 'data:,(' + frameScript.toString() + ')()';
window.messageManager.loadFrameScript(frameScriptURI, true);
})();
Alles anzeigen
Ich denke mal ich habe einen Gedankenfehler bis jetzt gehabt. :-??Wie man auf dem Screenshot erkennen kann, besteht in dem Moment ja keine Verbindung zum Server vom Forum.
Verstehe ich jetzt nicht. Zu welchem Zeitpunkt lässt du denn das Skript ausführen? Oder redest du hier vom Standby-Modus? Wenn du keine Verbindung zu camp-firefox.de hast, hast du wahrscheinlich gar keine Internetverbindung.
ZitatUnd zwar müsste es die Funktion automatisch übernehmen, einen Klick auf den Button: Nochmals versuchen zu übernehmen. Denn dadurch wird ja wieder eine Verbindung zu der noch vorhandenen Url in der Adressleiste übernommen.
Das sehe ich nicht so, wenn zu diesem Zeitpunkt immer noch keine Verbindung besteht, nützt dir das Neuladen der Seite auch nichts.
ZitatEs geht also gar nicht mal nur um die Forenseite, sondern immer um die Seite die noch in der Adressleiste steht, als die Verbindung unterbrochen wurde.
Und warum unterbrichst du die Verbindung? Oder redest du hier vom Standby-Modus?
Teste:
Hallo aborix...
Volltreffer...funktioniert so wie gedacht perfekt :klasse:
Ganz herzlichen Dank dafür