Firefox 24+ Android - "lebowskilebowski"
Gunther
- browser
Hallo werte Selfgemeinde,
kann mir bitte jemand von euch weiterhelfen mit der neuesten Version von Firefox für Android?
Meine Webseite wird erst "richtig" geladen und dann fügt FF vor dem <main> ein Eingabefeld ein unter dem steht "lebowskilebowski" (deshalb auch so blöd zu googeln, da haufenweise Treffer zu "The big/ great ..." kommen).
Da es sich um RWD handelt, welches von 'order' Gebrauch macht, zerschießt dieses Vorgehen mein Layout (getestet sowohl auf einem Phone, als auch einem Tablet mit Android 4.x).
Was soll dieser "Schei..." und noch viel wichtiger, wie kann man FF davon abhalten?
Bei der Gelegenheit auch gleich noch die Zusatzfrage: Wie deaktiviert neuerdings Javascript im FF?
Gruß Gunther
Meine Herren,
Meine Webseite wird erst "richtig" geladen und dann fügt FF vor dem <main> ein Eingabefeld ein unter dem steht "lebowskilebowski" (deshalb auch so blöd zu googeln, da haufenweise Treffer zu "The big/ great ..." kommen).
Ich bezweifle, dass das eine Standard-Funktion von Firefox ist. Eher von einem Drittanbieter, zum Beispiel von einer Erweiterung oder einem Free-Hoster. Gibt's die Seite irgendwo zu sehen?
Mein Herr,
Meine Webseite wird erst "richtig" geladen und dann fügt FF vor dem <main> ein Eingabefeld ein unter dem steht "lebowskilebowski" (deshalb auch so blöd zu googeln, da haufenweise Treffer zu "The big/ great ..." kommen).
Ich bezweifle, dass das eine Standard-Funktion von Firefox ist. Eher von einem Drittanbieter, zum Beispiel von einer Erweiterung oder einem Free-Hoster.
Ich hoste die Seite "selber" auf meinem vServer.
Also folgendes habe ich bereits gemacht:
Keine Veränderung.
In allen anderen Browsern (u.a. Chrome, Opera, Android) wird die Seite "ganz normal" dargestellt.
Gibt's die Seite irgendwo zu sehen?
Nein, kann leider (noch) nicht öffentlich zugänglich gemacht werden.
Gruß Gunther
Meine Herren,
Ich hoste die Seite "selber" auf meinem vServer.
Also folgendes habe ich bereits gemacht:
- Firefox (und FF beta) komplet samt aller gespeicherten Daten deinstalliert
- Device rebootet
- aus dem Playstore neu installiert
Keine Veränderung.
In allen anderen Browsern (u.a. Chrome, Opera, Android) wird die Seite "ganz normal" dargestellt.
Wenn sich diese beiden Möglichkeiten definitiv ausschließen lassen, wird's schwierig. Lässt sich denn irgendwie nachvollziehen woher das Input-Element stammt? Wenn es aus keiner Erweiterung stammt und auch nicht irgendwo beim Routing eingefügt wird (hast du mal die Proxy-Einstellungen überprüft?), bleibt imho. nur ein Javascript, dass dafür verantwortlich ist. Meine Google-Suche nach "lebowskilebwoski" hat hauptsächlich Treffer zu einem Tumblr-Profil ergeben. Integrierst du Tumblr in irgend einer Form auf deiner Seite?
Mein Herr!
... bleibt imho. nur ein Javascript, dass dafür verantwortlich ist.
Ja, ist es.
Nachdem ich es jetzt mal deaktiviert habe (gibt es eigentlich keine Option dafür mehr in den Einstellungen!? Musste jetzt über 'about:config' gehen), kommt diese ominöse Eingabezeile nicht mehr.
Hatte ich bei den vorherigen Versionen doch nicht.
Keine Addons installiert und selbst die integrierten Suchmaschinen alle deaktiviert.
Meine Google-Suche nach "lebowskilebwoski" hat hauptsächlich Treffer zu einem Tumblr-Profil ergeben. Integrierst du Tumblr in irgend einer Form auf deiner Seite?
Nein!
Kann es sein, dass es etwas damit zu tun hat, dass ich die Seite über HTTPS aufrufe?
Ich habe absolut keine Idee, was das sein soll, oder was das ist ...!? Sehr merkwürdig auf jeden Fall.
Gruß Gunther
Moin!
Nachdem ich es jetzt mal deaktiviert habe (gibt es eigentlich keine Option dafür mehr in den Einstellungen!? Musste jetzt über 'about:config' gehen), kommt diese ominöse Eingabezeile nicht mehr.
Nein, es gibt keine Option mehr fuer JS. Man muss about:config nutzen. Das ist die neue Benutzerfreundlichkeit... Wahrscheinlich haben sich zuviele Webseitbetreiber und Werbetreibende beschwert, dass die User JS zu einfach deaktivieren koennen... -.-
Meine Herren,
Nein, es gibt keine Option mehr fuer JS. Man muss about:config nutzen. Das ist die neue Benutzerfreundlichkeit...
Wahrscheinlich haben sich zuviele Webseitbetreiber und Werbetreibende beschwert, dass die User JS zu einfach deaktivieren koennen... -.-
Ich glaube es ist genau umgekehrt gelaufen, zu viele Nutzer, die keine Ahnung hatten, was sie da umgestellt haben, haben sich beschwert, dass sie viele Funktionen von Webeiten nicht mehr nutzen konnten. Aber das ist nur geraten.
Ich begrüße den Schritt von Mozilla.
Moin!
Nachdem ich es jetzt mal deaktiviert habe (gibt es eigentlich keine Option dafür mehr in den Einstellungen!? Musste jetzt über 'about:config' gehen), kommt diese ominöse Eingabezeile nicht mehr.
Nein, es gibt keine Option mehr fuer JS. Man muss about:config nutzen. Das ist die neue Benutzerfreundlichkeit... Wahrscheinlich haben sich zuviele Webseitbetreiber und Werbetreibende beschwert, dass die User JS zu einfach deaktivieren koennen... -.-
Hehe ..., ich gehöre ja u.a. auch zu den Leuten, die behaupten, dass aktuell RWD_ohne_Javascript Unterstützung (fast) nicht möglich ist.
Wobei mir andere Lösungen/ Varianten/ Methoden, als das Deaktivieren von JS zu erschweren, deutlich lieber wären.
Mittlerweile habe ich auch die Ursache gefunden - es ist mein Modernizr Script. Allerdings tritt dieses "Problem" nur im FF ab Version 24.0 auf.
Jetzt muss ich das mal näher analysieren.
Also falls jemand von euch dasselbe "Problem" hat, bzw. schon eine Lösung dafür gefunden hat ... - danke!
Gruß Gunther
Hallo!
Mittlerweile habe ich auch die Ursache gefunden - es ist mein Modernizr Script. Allerdings tritt dieses "Problem" nur im FF ab Version 24.0 auf.
Jetzt muss ich das mal näher analysieren.
Es ist offensichtlich diese Funktion:
function c(a){try{var b=document.createElement("input"),c=document.createElement("div"),d="lebowski",e=!1,f,g=document.body.firstElementChild||document.body.firstChild;c.innerHTML=d+a+d,document.body.insertBefore(c,g),document.body.insertBefore(b,c),b.setSelectionRange?(b.focus(),b.setSelectionRange(0,0)):b.createTextRange&&(f=b.createTextRange(),f.collapse(!0),f.moveEnd("character",0),f.moveStart("character",0),f.select());if(window.find)e=window.find(d+d);else try{f=window.self.document.body.createTextRange(),e=f.findText(d+d)}catch(h){e=!1}return document.body.removeChild(c),document.body.removeChild(b),e}catch(h){return!1}}
Kann mir einer von euch verraten, welcher "Test" das ist?
Muss vermutlich einer von den None-core detects sein, da das in der Development Version nicht enthalten ist.
Gruß Gunther
Meine Herren,
Muss vermutlich einer von den None-core detects sein, da das in der Development Version nicht enthalten ist.
Unter Extensibility:
Modernizr._prefixes
Mein Herr!
Unter Extensibility:
Modernizr._prefixes
Danke, aber das ist es nicht.
Modernizr._prefixes sieht so aus:
/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-prefixes
*/
;window.Modernizr=function(a,b,c){function u(a){i.cssText=a}function v(a,b){return u(l.join(a+";")+(b||""))}function w(a,b){return typeof a===b}function x(a,b){return!!~(""+a).indexOf(b)}function y(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:w(f,"function")?f.bind(d||b):f}return!1}var d="2.6.2",e={},f=b.documentElement,g="modernizr",h=b.createElement(g),i=h.style,j,k={}.toString,l=" -webkit- -moz- -o- -ms- ".split(" "),m={},n={},o={},p=[],q=p.slice,r,s={}.hasOwnProperty,t;!w(s,"undefined")&&!w(s.call,"undefined")?t=function(a,b){return s.call(a,b)}:t=function(a,b){return b in a&&w(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=q.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(q.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(q.call(arguments)))};return e});for(var z in m)t(m,z)&&(r=z.toLowerCase(),e[r]=m[z](),p.push((e[r]?"":"no-")+r));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)t(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof enableClasses!="undefined"&&enableClasses&&(f.className+=" "+(b?"":"no-")+a),e[a]=b}return e},u(""),h=j=null,e._version=d,e._prefixes=l,e}(this,this.document);
Gruß Gunther
Meine Herren,
Unter Extensibility:
Modernizr._prefixesDanke, aber das ist es nicht.
Also nachdem ich den Haken für diesen Punkt gelöscht habe, wurde in dem Ausgabefeld "lebwoski" nicht mehr gefunden, daher die Vermutung. Du kannst übrigens auch den Haken bei "don't minify" setzen, dann kommt lesbarer Code raus.
Mein Herr!
Unter Extensibility:
Modernizr._prefixesDanke, aber das ist es nicht.
Also nachdem ich den Haken für diesen Punkt gelöscht habe, wurde in dem Ausgabefeld "lebwoski" nicht mehr gefunden, daher die Vermutung. Du kannst übrigens auch den Haken bei "don't minify" setzen, dann kommt lesbarer Code raus.
Sehr merkwürdig ..., denn es ist der Test für 'css-hyphens'
(jetzt mal nicht minified, damit man die ganzen Kommentare mit dabei hat, gekürzt):
/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-css_hyphens
*/
;
// testing if in-browser Find functionality will work on hyphenated text
function test_hyphens_find(delimiter) {
try {
/* create a dummy input for resetting selection location, and a div container
* these have to be appended to document.body, otherwise some browsers can give false negative
* div container gets the doubled testword, separated by the delimiter
* Note: giving a width to div gives false positive in iOS Safari */
var dummy = document.createElement('input'),
div = document.createElement('div'),
testword = 'lebowski',
result = false,
textrange,
firstChild = document.body.firstElementChild || document.body.firstChild;
div.innerHTML = testword + delimiter + testword;
document.body.insertBefore(div, firstChild);
document.body.insertBefore(dummy, div);
/* reset the selection to the dummy input element, i.e. BEFORE the div container
* stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area */
if (dummy.setSelectionRange) {
dummy.focus();
dummy.setSelectionRange(0,0);
} else if (dummy.createTextRange) {
textrange = dummy.createTextRange();
textrange.collapse(true);
textrange.moveEnd('character', 0);
textrange.moveStart('character', 0);
textrange.select();
}
/* try to find the doubled testword, without the delimiter */
if (window.find) {
result = window.find(testword + testword);
} else {
try {
textrange = window.self.document.body.createTextRange();
result = textrange.findText(testword + testword);
} catch(e) {
result = false;
}
}
document.body.removeChild(div);
document.body.removeChild(dummy);
return result;
} catch(e) {
return false;
}
}
Hat hier jemand eine Idee, weshalb das im FF unter Android "fehlschlägt"?
Oder muss ich ein 'Issue' im GitHub eintragen?
Gruß Gunther