Nenavaden način za izboljšanje PF z EclipseCrossword

Vzdrževanje spletnega mesta in njegova promocija je odgovorna zadeva, za katero se morate pripraviti.

Vsak spletni skrbnik in optimizator se morata naučiti, kaj še vpliva na položaj njegovega vira in poskušati te dejavnike okrepiti z uporabo različnih tehnik in trike

Algoritmi iskalnikov že dolgo obravnavajo vedenjske dejavnike kot enega najpomembnejših kazalnikov. Zato morate ugotoviti, kako pritegniti pozornost obiskovalcev in jih porabiti veliko časa na straneh.

Za to je že izumljenih veliko izvirnih dejanj, vključno z umestitvijo izvirne vsebine.

Nenavaden način za izboljšanje PF, ki je primeren za vsako lokacijo. Popolnoma na vseh virih lahko dodate majhne, ​​interaktivne križanke, s 5-6 nalogami. Vaši obiskovalci bodo navdušeni nad odgovorom na vprašanja in vedenjski dejavniki se bodo izboljšali zaradi zamude na strani.

Ampak, da bi dodali priročno križanko na vašo spletno stran, boste morali trdo delati. Na žalost za to ni idealnih programov in spletnih storitev, zato boste morali uporabiti alternativne metode.

Najprej morate prenesti preprost program. To je posebna programska oprema, s katero lahko določite nekaj vprašanj in odgovorov, nato pa dobite pripravljeno križanko.

Program je zelo priljubljen, vendar nima lokalizacije v ruskem jeziku, zato so vizualna navodila za uporabo koristna za vas:

Program vam bo dala možnosti za ustvarjanje križanke in lahko izberete najboljšo možnost. Po tem morate odpreti zavihek za shranjevanje spletne strani in izbrati prvi element:

Prenesite ga v računalnik in ga odprite z vsakim urejevalnikom, na primer z beležnico. To je potrebno, da spremenite kodo, ki bo pomagala poenotiti vašo križanko.

Najdite vrstico v kodi Copyright 2000-2007 Green Eclipse in vstavite kodo za njo.

// EclipseCrossword (C) Avtorske pravice 2000-2007 Green Eclipse.
// www. eclipsecrossword. com

var BadChars = "` ~! @ ^ * () _ = {[}] \ _ :; . .

var TableAcrossWord, TableDownWord;
var CurrentWord, PrevWordHorizontal, x, y, i, j;
var CrosswordFinished, Initialized; if (document. GetElementById ("waitmessage")! = Null)
{
dokument. GetElementById ( innerHTML = "Prosim počakajte, da se križanka naloži ...";

// Trenutne spremenljivke igre
CurrentWord = -1;
PrevWordHorizontal = false;

// Ustvarite nize celic do besed.
TableAcrossWord = novo polje (CrosswordWidth);
za (var x = 0; x. CrossWidth; x ++) TableAcrossWord [x] = novo polje (CrosswordHeight);
TableDownWord = novo polje (CrosswordWidth);
za (var x = 0; x. CrosswordWidth; x ++) TableDownWord [x] = novo Array (CrosswordHeight);
za (var y = 0; y. CrosswordHeight; y ++)
za (var x = 0; x. CrosswordWidth; x ++)
{
TableAcrossWord [x] [y] = -1;
TableDownWord [x] [y] = -1;
}

// prvo , dodajte vodoravno sestavljanke.
za (var i = 0; i. = LastHorizontalWW; i ++)
{
x = WordX [i];
y = WordY [ i];
za (var j = 0; j. WordLength [i]; j ++)
{
TableAcrossWord [x + j] [y] = i;
}
}

// Drugič dodajte navpične besede sestavljanki.
za (var i = LastHorizontalWord + 1; i. Besede; i ++)
{
x = WordX [i];
y = WordY [i];
za (var j = 0; j. WordLength [i]; j ++)
{
TableDownWord [x] [y + j] = i
}
}

// Zdaj vstavite HTML vrstico v tabelo.
za (var y = 0; y. CrosswordHeight; y ++)
{
dokument. writeln (". tr.");
za (var x = 0; x. CrosswordWidth; x ++)
{
if (TableAcrossWord [x] [y] . = 0 || TableDownWord [x] [y]. = 0)
dokument. write (". td id =" c "+ PadNumber (x) + PadNumber (y) +" "razred" = "ecw-box ecw-boxnormal_unsel" onclick = "IzberiteThisWord (dogodek);" > drugo
dokument. write (". td .. / td.");
}
dokument. writeln (". / tr.");
}

// končno sporočilo.
Initialized = true;
dokument. getElementById ("čakalna sporočila"). slog. display = "none";
dokument. getElementById ("križanka"). slog. display = "block";
}

// ----
// Prireditelji dogodkov

// Povišani, ko pritisnete tipko polje za vnos besedila.
funkcija WordEntryKeyPress (dogodek)
{
če se (CrosswordFinished) vrne;
// Kliknite tukaj.
if (CurrentWord. = 0 .. Dogodek. KeyCode == 13) OKClick ();
}

// ----
// Funkcije pomočnika

// Pokliče, ko smo pripravljeni za zagon križanke.
funkcija ZačniCrossword ()
{
če je dokument (Initialized)
{
. getElementById ("welcomemessage"). slog.display = "";
dokument. getElementById ("checkbutton"). slog. display = "";
}
}

// Vrne.
Funkcija ContainsBadChars (njihovo beseda)
{
za (var i = 0; i. Njihovo dolžino; i ++)
if (BadChars. IndexOf (njihovWord. charAt (i)). = 0) vrne true;
vrne false;
}

.
funkcija PadNumber (številka)
{
if (številka. 10)
vrne "00" + številko;
drugo if (številka. 100)
vrne "0" + število;
other
vrne "" + številko;
}

// Vrne celico tabele na določen par koordinat.
funkcija CellAt (x, y)
{
vrne dokument. getElementById ("c" + umbertevilka N Pad (+) + tevilka Pad (y));
}

// Izbrisi trenutno besedo, èe je izbrana beseda. Ne spremeni vrednosti CurrentWord.
funkcija DeselectCurrentWord ()
{
if (CurrentWord. 0) vrne;
var x, y, i;

dokument. getElementById ("answerbox"). slog. display = "none";
ChangeCurrentWordSelectedStyle (false);
CurrentWord = -1;

}

// Spremeni slog celic v trenutno besedo.
funkcija ChangeWordStyle (WordNumber, NewStyle)
{
če se (WordNumber. 0) vrne;
var x = WordX [WordNumber];
var y = WordY [WordNumber];

if (WordNumber. = LastHorizontalWord)
za (i = 0; i. WordLength [WordNumber]; i ++)
Celica (x + i, y). className = NewStyle;
drugo
za (i = 0; i. WordLength [WordNumber]; i ++) Cell2At (x, y + i). className = NewStyle;
}

// Oblika med izbranim in neizbranim obrazcem.
funkcija ChangeCurrentWordSelectedStyle (IsSelected)
{
if (CurrentWord. 0) vrne;
var x = WordX [CurrentWord]; 2> var y = WordY [CurrentWord];

if (CurrentWord. = LastHorizontalWord)
za (i = 0; i. WordLength [CurrentWord]; i ++)
CellAt (x + i, y). className = CellAt (x + i, y). className. replace (IsSelected? "_unsel": "_sel", IsSelected? "_sel": "_unsel");
drugo
za (i = 0; i. WordLength [CurrentWord]; i ++ ) CellAt (x, y + i). className = CellAt (x, y + i). className. replace (IsSelected? "_unsel": "_sel", IsSelected? "_sel": "_unsel");
}

// Izberi ime elementa TD se sklicuje na objekt dogodka
// in nato po potrebi uporablja sloge.
funkcija SelectThisWord (dogodek)
{
če (CrosswordFinished) vrne;
var x, y, i, njihovo besedo, tabelaCell;

// Prekliči izbiro prejšnje besede, če je bila izbrana.
dokument. getElementById ("welcomemessage"). slog. display = "none";
if (CurrentWord. = 0) OKClick ();
DeselectCurrentWord ();

// Določi celico in nato besedo, ki sta kliknili
//.
var target = (dogodek. SrcElement? Dogodek. SrcElement: dogodek. Cilj);
x = parseInt (cilj. Id. Podpostavka (1, 4), 10);
y = parseInt (cilj. Id. Podpostavka (4, 7), 10);

// Če ste kliknili na križišče, to ni zadnjič.
if (TableAcrossWord [x] [y]. = 0 .. TableDownWord [x] [y]. = 0)
CurrentWord = PrevWordHorizontal? TableDownWord [x] [y]: TableAcrossWord [x] [y];
sicer (TableAcrossWord [x] [y]. = 0)
CurrentWord = TableAcrossWord [x] [y] ];
if if (TableDownWord [x] [y]. = 0)
CurrentWord = TableDownWord [x] [y];

PrevWordHorizontal = (CurrentWord. = LastHorizontalWord);

// Zdaj, v tej besedi.
ChangeCurrentWordSelectedStyle (true);

// Nato pripravite polje za odgovor.
x = WordX [CurrentWord];
y = WordY [CurrentWord];
theirWord = "";
var TheirWordLength = 0;
za (i = 0; i. WordLength [CurrentWord]; i ++)
{
// Poiščite ustrezno celico tabele.
if (CurrentWord. = LastHorizontalWord)
TableCell = CellAt (x + i, y);
else
TableCell = CellAt (x, y + i);
//
if (TableCell. InnerHTML! = Null .. TableCell. InnerHTML. Dolžina. 0 .. TableCell. InnerHTML! = "". TableCell. InnerHTML. ToLowerCase ()! = ". Nbsp;")
{
njihovo besedo + = tabela. innerHTML. >
Njihova delovna dolžina ++;
}
drugo
{
Njihova beseda + = ". bull;";
}
}

dokument. getElementById ("besedna oznaka"). innerHTML = NjihovWord;
dokument. getElementById ("wordinfo"). innerHTML = ((CurrentWord. = LastHorizontalWord)? "Horizontalno,": "Vertikalno,") + WordLength [CurrentWord] + "črke.";
dokument. getElementById ("wordclue"). innerHTML = Poizvedbo [CurrentWord];
dokument. getElementById ("worderror"). slog. display = "none";
if (njihovWordLength == WordLength [CurrentWord])
dokument. getElementById ("wordentry").vrednost = NjihovWord;
else
dokument. getElementById ("wordentry"). value = "";

// Nazadnje pokažite polje za odgovor.
dokument. getElementById ("answerbox"). slog. display = "block";
poskusite
{
dokument. getElementById ("wordentry"). dokument ();
dokument. getElementById ("wordentry"). izberite ();
}
ulov (e)
{
}

}

// Kliče, ko uporabnik klikne povezavo OK.
funkcija OKClick ()
{
var Njihova beseda, x, y, i, tabelaCell;
če se (CrosswordFinished) vrne;
if (dokument. GetElementById ("okbutton"). Disabled) return;

// Najprej potrdite vnos.
NjihovWord = dokument. getElementById ("wordentry"). vrednost. toUpperCase ();
if (Njihova dolžina == 0)
{
DeselectCurrentWord ();
vrne;
}
if (ContainsBadChars (TheirWord))
{
dokument. getElementById ("worderror"). innerHTML = "Samo črke!.";
dokument. getElementById ("worderror"). slog. display = "block";
vrnitev;
}
if (njihovo dolžino. WordLength [CurrentWord])
{
dokument. getElementById ("worderror"). innerHTML = "Nekaj ​​črk. Beseda je sestavljena iz" + WordLength [CurrentWord] + "črk (s).";
dokumenta. getElementById ("worderror"). slog. display = "block";
vrnitev;
}
if (njihovo dolžino. WordLength [CurrentWord])
{
dokument. getElementById ("worderror"). innerHTML = "Veliko črk. Beseda je sestavljena iz" + WordLength [CurrentWord] + "črk (s).";
dokumenta. getElementById ("worderror"). slog. display = "block";
vrnitev;
}

// skrij polje za vnos.
x = WordX [CurrentWord];
y = WordY [CurrentWord];
za (i = 0; i. Njihovo besedo. Dolžina; i ++)
{
TableCell = CellAt (x + (CurrentWord. = LastHorizontalWord? I: 0), y + (CurrentWord. LastHorizontalWord? I: 0));
TableCell. innerHTML = Njihova beseda. substring (i, i + 1);
}
DeselectCurrentWord ();
}

// kliče, ko je povezava "puzzle puzzle" kliknili.
funkcija CheckClick ()
{
var i, j, x, y, UserEntry, ErrorsFound = 0, EmptyFound = 0, tabelaCell;
if (CrosswordFinished) vrne;
DeselectCurrentWord ();

za (y = 0; y. CrosswordHeight; y ++)
za (x = 0; x. CrosswordWidth; x ++)
if (TableAcrossWord [x] [y]. = 0 || TableDownWord [x] [y]. = 0)
{
TableCell = CellAt ( x, y);
if (TableCell. className == "ecw-box ecw-boxerror_unsel") TableCell. className = "ecw-box ecw-boxnormal_unsel";
}

za (i = 0; i. besede; i ++)
{
/ Sprejmite besedo za to besedo.
UserEntry = "";
za (j = 0; j. WordLength [i]; j ++)
{
če (i. = LastHorizontalWord)
TableCell = CellAt (WordX [i] + j, WordY [i]);
drugo
TableCell = CellAt (WordX [i], WordY [i] ] + j);
if (TableCell. innerHTML. length. 0 .. TableCell. innerHTML. toLowerCase ()! = ". nbsp;")
{
UserEntry + = TableCell. innerHTML. toUpperCase ();
}
drugo
{
UserEntry = "";
EmptyFound ++;

}
}
// Če se ta beseda ne ujema, je napaka.
if (HashWord (UserEntry)! = Odgovor Hash [i] .Uporaba.Dolžina. 0)
{
Napaka +++
ChangeWordStyle (i) , "ecw-box ecw-boxerror_unsel");
}
}

// Če lahko samo enkrat preverite, onemogočite stvari predčasno.
if (OnlyCheckOnce)
{
CrosswordFinished = true;
dokument. getElementById ("checkbutton"). slog. display = "none";
}

// // če so bile najdene napake, samo izstopite.
če (ErrorsFound. 0 .. EmptyFound. 0)
dokument. getElementById ("welcomemessage"). innerHTML = ErrorsFound + (napake na začetku. 1? "napake": "napake") + "in" + EmptyFound + (EmptyFound. 1? "besede, ki so ostale le za ugibanje": "nepopolna beseda je bila") + ".";
sicer, če (ErrorsFound. 0)
dokument. getElementById ("welcomemessage"). innerHTML = ErrorsFound + (napake napak. 1? "so bile napake": "napaka") + "najdeno.";
tudi če (EmptyFound. 0)
dokument. getElementById ("welcomemessage"). innerHTML = "Ni napak, ampak" + EmptyFound + (EmptyFound. 1? "besede levo za ugibanje": "beseda levo za reševanje") + ".";

if (ErrorsFound + EmptyFound. 0)
{
dokument. getElementById ("welcomemessage"). slog. display = "";
return;
}

// Dokončali so sestavljanko!
CrosswordFinished = true;
dokument . getElementById ("checkbutton"). slog. display = "none";
dokument. getElementById ("čestitke"). slog. display = "block";
dokument. getElementById ("welcomemessage"). slog. display = "none";
}

// Pokličemo, ko kliknemo povezavo "goljufija".
funkcija CheatClick ()
{
če (CrosswordFinished) vrne;
var OldWord = CurrentWord;
dokument. getElementById ("wordentry").value = Word [CurrentWord];
OKClick ();
ChangeWordStyle (OldWord, "ecw-box ecw-boxcheated_unsel");
}

// Vrne enosmerno razpršitev za besedo.
funkcija HashWord (Word)
{
var x = (Word. CharCodeAt (0) * 719)% 1138;
var Hash = 837
var i;
za (i = 1; i. = Word. Dolžina; i ++)
Hash = (Hash * i + 5 + (Word. CharCodeAt) (i - 1) - 64) * x)% 98503;
vrne Hash;
}

// -. . / skript.

. / miza. . / td. . td valign = "top" style = "padding-left: 1em;". . div class = "ecw-copyright". . a href = "http: // www. eclipsecrossword. com /" target = "_ blank" style = "font-weight: bold;". EclipseCrossword. / a. . kopijo; 2000-2010
. / div. . div id = "welcomemessage" class = "ecw-answerbox" style = "display: none;". . h3. Dobrodošli! / h3. . str. Kliknite na križanko za začetek. . / p. . / div. . div id = "answerbox" class = "ecw-answerbox" style = "display: none;". . h3 id = "wordlabel" class = "ecw-wordlabel". . nbsp; / h3. . div id = "wordinfo" class = "ecw-wordinfo". . / div. . div id = "wordclue" class = "ecw-cluebox". . / div. . div style = "margin-top: 1em;". . input class = "ecw-input" id = "wordentry" type = "text" velikost = "24 = style =" font-weight: bold; text-transform: veliko besedilo; "onkeypress =" WordEntryKeyPress (dogodek) "onchange =" WordEntryKeyPress (dogodek) "autocomplete =" off "/.
. / div.
. div id = "worderror" class = "ecw-worderror" .. / div.

. table border = "0 p cellspacing =" 0 pad cellpadding = "0 = širina =" 100% "style =" margin-top : 1em; ". . tole. . tr. . td. . / td. . td align = "right". . gumb id = "okbutton" type = "gumb" class = "ecw-input ecw-gumb" onclick = "OKClick ();" style = "font-weight: bold;". OK. / gumb. . nbsp;
. gumb id = "gumb za preklic" type = "gumb" class = "ecw-input ecw-button" onclick = "DeselectCurrentWord ();". Končaj. / gumb. . / td. . / tr. . / telo. . / miza.

. / div. . div id = "čestitam" class = "ecw-answerbox" style = "display: none;". . h3. Čestitamo! / h3. . str. Popolnoma ste rešili križanko. . / p. . / div. . / td. . / tr. . / miza. . div style = "margin-top: 1em;". . gumb id = "checkbutton" type = "gumb" onclick = "CheckClick ();" style = "display: none;".
Preverite napake. / gumb. . / div. . skriptni jezik = "JavaScript" type = "text / javascript". . ! -
Začni križ ();
// -. . / skript. . / telo. . / html.

Ne pozabite shraniti teh sprememb in potem lahko dodate skript v kateri koli del svojega vira.

Da, če želite na vašo spletno stran dodati križanko, boste morali opraviti veliko dejanj, vendar je vredno. Tudi za povečanje učinkovitosti tega trika lahko daste majhne nagrade tistim, ki odgovorijo na vsa vprašanja. Na primer, pošiljanje majhnih zneskov denarja v telefon.

Iskanje

povezani članki