2012-04-03 8 views
4

Wie würde Chrome mit diesem Szenario umgehen?Chrome-Erweiterung: Mehrere Erweiterungen, die auf dasselbe Element wirken

Angenommen, ich habe zwei Erweiterungen installiert. Eine Erweiterung, die die Seite blau und die andere die Seite rot macht. Welche Erweiterung hat Priorität?

+1

Sie könnten es einfach versuchen, wissen Sie. –

+1

Große Frage! – Ferdau

+0

@Amaan ja ich weiß. Aber ich dachte, das wäre nützlich für Leute, die suchen. Ich werde es in ein paar Minuten versuchen. Aber zögern Sie nicht zu antworten, wenn Sie vor mir da sind :) – Chamilyan

Antwort

8

Das endgültige Verhalten hängt von folgenden Faktoren ab:

  • Specifity of the CSS selectors. Beispiel: html body ist spezifischer als body.

  • Kurzschrifteigenschaften: background-color:red; überschreibt immer background:cyan;.

  • Die Existenz der !important Flagge: !important Erklärungen können nur durch eine andere !important Erklärung außer Kraft gesetzt werden.

  • Reihenfolge der Ausführung: Erweiterungen, die in jüngster Zeit installiert werden, sind letzte ausgeführt.
    Dies bedeutet, dass die Erweiterung, die am Ende (wieder) geladen wurde, "gewinnt", vorausgesetzt, die vorherigen Entscheidungsregeln waren unentschieden.

+2

PS. Die Reihenfolge der Ausführung wird auch von der Manifesteinstellung ['run_at'] (http://code.google.com/chrome/extensions/content_scripts.html#registration) beeinflusst. –

2

Beide Erweiterungen werden ausgeführt. Die erste, die zuerst ausführt, wird die Seite zu einer Farbe, die zweite zu einer anderen Farbe. Letzte Farbe herrscht vor.

Die Reihenfolge der Ausführung hängt von vielen Dingen ab. Wenn zum Beispiel beide Nebenstellen dasselbe Ereignis abhören, hängt die Reihenfolge davon ab, wer zuerst den Listener hinzugefügt hat.

Verwandte Themen