0

Ich arbeite an einer Chrome-Erweiterung, die einen Algorithmus implementiert, der Google-Suchergebnisse wahrscheinlich besser rankt.Wie neu div vor dem Laden der Seite?

Jetzt verstehe ich, dass eine Suchseite von 10 <div> Elemente gemacht wird, was ich tun muss, ist diese 10 <div> s neu zu ordnen. Was JS immer verwirrt mich ist Timing.

  • Wenn ich wieder um diese <div> s, nachdem die Seite vollständig geladen ist, werden die Ergebnisse automatisch aktualisiert, oder muss ich die Seite wieder machen?
  • Was ist mit der Neubestellung dieser <div> s, bevor die Seite voll geladen ist? Ist es möglich? ~~

Schätzen Sie Ihre Hilfe!

UPDATE:

Jetzt denke ich, meine zentrale Frage ist, wie Seiteninhalt zu ändern, bevor die Seite vollständig geladen ist. So etwas wie "Ad Blocker". Wie kann "Ad Blocker" den Inhalt der Seite vor dem Laden der ganzen Seite ändern?

DOM structure of a google search result page

+0

Sobald Sie den DOM ändern die Seite reflektiere die Veränderungen. Keine Notwendigkeit, alles neu zu rendern, was das bedeutet. Ob Sie es vor oder nach dem Laden tun, ist irrelevant. Wenn Sie nur die Reihenfolge ändern möchten, verwende ich 'display: flex' und dann' order: X', wobei X eine Zahl ist. Siehe [dies] (https://css-tricks.com/almanac/properties/o/order/) – Miro

+0

@miro okay gut zu wissen! Denkst du, es gibt eine Möglichkeit, das Laden zu verzögern, Divs neu anzuordnen und dann weiter zu laden? Das Ändern einer geladenen Seite fühlt sich komisch an. Vielen Dank. – dgcr924

+0

Es ist mir unklar, was Sie wirklich fragen. Wie gesagt, wenn Sie das DOM ändern und die Ausführung beenden (oder der Browser bestimmt sonst, dass eine Aktualisierung durchgeführt werden soll), dann ändert sich was angezeigt wird. Ihr Hauptbestimmungsfaktor ist, dass der Inhalt, den Sie ändern möchten, vorhanden sein muss, bevor Sie ihn ändern, es sei denn, Ihre "Änderung" soll verhindern, dass sie dem DOM hinzugefügt wird. Deine Frage ergibt also keinen Sinn. – Makyen

Antwort

1

auf meinem Kommentar Anknüpfend, hier ist eine kurze Demo, die die Reihenfolge aber mit CSS nichts umkehrt:

body{ 
 
    flex-flow: column wrap; 
 
    display:flex; 
 
} 
 

 

 
.flex-item.one {order: 5;} 
 
.flex-item.two {order: 4;} 
 
.flex-item.three {order: 3;} 
 
.flex-item.four {order: 2;} 
 
.flex-item.five {order: 1;}
<div class="flex-item one"> Item 1</div> 
 
<div class="flex-item two"> Item 2</div> 
 
<div class="flex-item three"> Item 3</div> 
 
<div class="flex-item four"> Item 4</div> 
 
<div class="flex-item five"> Item 5</div>

+0

Schlagen Sie vor, jquery zu verwenden, um css der Seite zu ändern? – dgcr924

+0

Ich bin nicht vertraut mit Erweiterungen, aber es scheint, als ob Sie 'Css' und' Skript' Tags injizieren können, bevor die Seite konstruiert wird. [Siehe hierzu] (https://stackoverflow.com/a/19192010/559079). Ich würde js überhaupt nicht benutzen, aber woher weißt du dann, wie man den Inhalt bestellt? – Miro

+0

Ich denke an etwas wie "Ad Blocker", der den Seiteninhalt vor dem Rendern der ganzen Seite ändern kann. – dgcr924

Verwandte Themen