Ajax შინაარსის დატვირთვა გვერდის გადახვევისას. შინაარსის „ზარმაცი დატვირთვა“ სადესანტო გვერდზე

დიდი ხანია, რაც არ გამოვაქვეყნე რაიმე კოდი. დღეს მე გამოვასწორებ სიტუაციას და მოგცემთ რამდენიმე სასარგებლო jQuery ფრაგმენტს, რომელიც აუცილებლად გამოგადგებათ თქვენს ვებსაიტებზე.


მე არ შევალ თეორიაში; უბრალოდ შეგახსენებთ რა არის jQuery.

jQuery არის JavaScript ბიბლიოთეკა, რომელიც ფოკუსირებულია JavaScript-ისა და HTML-ის ურთიერთქმედებაზე. jQuery ბიბლიოთეკა დაგეხმარებათ მარტივად შეხვიდეთ ნებისმიერ DOM ელემენტზე, შეხვიდეთ და მანიპულიროთ DOM ელემენტების ატრიბუტებითა და შინაარსით. jQuery ბიბლიოთეკა ასევე უზრუნველყოფს მოსახერხებელ API-ს AJAX-თან მუშაობისთვის.

მაშ, წავიდეთ!

1. გლუვი გადახვევა გვერდის ზედა ნაწილში

არც ერთ ვებსაიტს არ შეუძლია ამის გარეშე. კოდის მხოლოდ 4 ხაზი საშუალებას მისცემს თქვენს ვიზიტორებს შეუფერხებლად გადაახვიონ მთელი გვერდი ერთი დაწკაპუნებით.

$("a").click(function() ($("html, body").animate(( scrollTop: 0 ), "slow"); return false; ));

2. ცხრილის სათაურების დუბლიკატი

თქვენი ცხრილების აღქმისა და წაკითხვის გასაუმჯობესებლად, შეგიძლიათ მათი სათაურების დუბლიკატი ცხრილის ქვემოთ. როგორც ჩანს, პატარა რამ არის, მაგრამ ძალიან მოსახერხებელია რთულ და დიდ მაგიდებში, რომლებიც არ ჯდება ერთ ეკრანზე.

Var $tfoot = $(""); $($("thead").clone(true, true).children().get().reverse()).each(function())($tfoot.append($(this)); )); $tfoot.insertAfter("მაგიდა");

3. გარე მონაცემების ჩატვირთვა

jQuery ძალიან აადვილებს გარე კონტენტის ჩატვირთვას ვებ გვერდებზე. ის შეიძლება გამოვიდეს პირდაპირ DIV ბლოკში, როგორც ქვემოთ მოცემულ მაგალითში.

$("#content").load("somefile.html", ფუნქცია(პასუხი, სტატუსი, xhr) ( // შეცდომის დამუშავება if(status == "შეცდომა") ( $("#content").html(" მოხდა შეცდომა: " + xhr.status + " " + xhr.statusText); ) ));

4. სვეტის იგივე სიმაღლე

ცნობილია, რომ არც ისე ადვილია ბლოკების სიმაღლეში გასწორება სტანდარტული HTML და CSS ინსტრუმენტების გამოყენებით. ქვემოთ მოცემული კოდის მხოლოდ რამდენიმე სტრიქონი მოგცემთ საშუალებას, რომ ყველა ბლოკის სიმაღლე უფრო დიდი ბლოკის სიმაღლეს გაუტოლდეს.

var maxheight = 0; $("div.col").each(function())(if($(this).height() > maxheight) (maxheight = $(this).height(); ) )); $("div.col").სიმაღლე(maxheight); 5. მაგიდის ზებრა

მოგეხსენებათ, ცხრილის აღქმა და წაკითხვა შესამჩნევად მაღალი იქნება, თუ რიგების მრავალფეროვან მონაცვლეობას გააკეთებთ. ამის განხორციელება ძალიან მარტივია jQuery-ში.

$(დოკუმენტი).ready(function())($("table tr: even").addClass("ზოლები"); ));

6. გვერდის ნაწილობრივი განახლება

jQuery-ის გამოყენებით ძალიან მარტივია გვერდის ბლოკის (ნაწილობრივი) განახლება. მაგალითად, ქვემოთ მოცემული კოდი საშუალებას მოგცემთ ავტომატურად განაახლოთ #refresh ბლოკი ყოველ 10 წამში.

SetInterval(function() ($("#refresh").load(location.href+" #refresh>*",""); ), 10000); // მილიწამები ლოდინი

7. სურათების წინასწარ ჩატვირთვა

ეს კოდი საშუალებას გაძლევთ ჩატვირთოთ სურათები ფონზე მათი ჩატვირთვის გარეშე გვერდის ნახვისას. უბრალოდ ჩამოთვალეთ მე-7 სტრიქონში სურათები, რომლებიც გჭირდებათ წინასწარ ჩატვირთვისთვის.

$.preloadImages = ფუნქცია() ( for(var i = 0; i maxWidth)( თანაფარდობა = maxWidth / სიგანე; $(this).css("width", maxWidth); $(this).css("სიმაღლე", სიმაღლე * თანაფარდობა = სიმაღლე * თანაფარდობა ) var width = $(this) ; (this).css("სიმაღლე", maxHeight $(this).css("სიგანე", სიგანე * თანაფარდობა); //$("#contentpage img").ჩვენება(); // სურათის ზომის შეცვლა ));

12. გვერდის ქვემოთ გადახვევისას შინაარსის ჩატვირთვა

უფრო ხშირად ამ ტექნიკას უწოდებენ გაუთავებელ გადახვევას. კონტენტი იტვირთება, როდესაც მომხმარებელი ახვევს გვერდს. ამის განხორციელება საკმაოდ მარტივია ქვემოთ მოცემული კოდის გამოყენებით.

Var loading = false; $(window).scroll(function())( if((($(window).scrollTop()+$(window).height())+250)>=$(დოკუმენტი).სიმაღლე())(თუ ( loading == false)( loading = true; $("#loadingbar").css("display","block"); $.get("load.php?start="+$("#loaded_max") val(), ფუნქცია(დატვირთული)($("body").append(ჩატვირთული);$("#loaded_max").val(parseInt($("#loaded_max").val())+50); $ ("#loadingbar").css("display","none" loading = false ) ); $(დოკუმენტი).ready(function() ($("#loaded_max").val(50); ));

13. სურათის ჩატვირთვის შემოწმება

ხშირად თქვენ უნდა შეამოწმოთ სურათი ამჟამად ჩატვირთულია თუ არა. და jQuery კვლავ დაგვეხმარება ამაში.

Var imgsrc = "img/image1.png"; $(" ").load(function () ( alert("image loaded"); )).error(function () ( alert("error loading image"); )).attr("src", imgsrc);

14. დახარისხება ანბანურად

თუ სიის დინამიური დახარისხება გჭირდებათ ანბანურად, ეს პატარა ნაწყვეტი აუცილებლად გამოგადგებათ.

$(function() ( $.fn.sortList = ფუნქცია() ( var mylist = $(this); var listitems = $("li", mylist).get(); listitems.sort(function(a, b) ( var compA = $(a).text().toUpperCase(); var compB = $(b).text().toUpperCase(); return (compA< compB) ? -1: 1; }); $.each(listitems, function(i, itm) { mylist.append(itm); }); } $("ul#demoOne").sortList(); });

შეინახეთ - ის გამოგადგებათ.

ყველა უახლესი და ყველაზე საინტერესო WordPress-ის სამყაროდან ჩემს Telegram არხზე. გამოიწერეთ!

გამარჯობა ყველას. დღეს მინდა გესაუბროთ იმაზე, თუ როგორ უნდა მოაწყოთ კონტენტის ზარმაცი დატვირთვა სადესანტო გვერდებზე.

ხშირად მას ასევე უწოდებენ "უსასრულო გადახვევას". თქვენ ალბათ გინახავთ მსგავსი ეფექტი, როდესაც კონტენტი თავდაპირველად არ არის საიტზე, მაგრამ გვერდის გადახვევისას ის შეუფერხებლად იტვირთება.

დიდი ხნის წინ ჩვენ მივწერეთ "თქვენი წინადადებები" განყოფილებას, რომ დაგეწერათ სტატია, თუ როგორ უნდა განხორციელდეს ასეთი ეფექტი:


ამიტომ გადავწყვიტე დამეწყო მისი განხორციელება. მადლობა რომ მომაწოდე იდეები. მოდი დავიწყოთ...



როგორც უმეტეს შემთხვევაში, ჩვენ ვიწყებთ jQuery ბიბლიოთეკის ჩართვით:

ახლა კი საჭიროა ცოტა გადახვევა და მე აგიხსნით მეთოდის არსს. ეს ყველაფერი იწყება იმისათვის, რომ არ ჩაიტვირთოს საიტის ყველა ელემენტი (თქვენი პორტფოლიო ან მიმოხილვები), არამედ ჩაიტვირთოს ისინი საჭიროებისამებრ. მაგალითად, როდესაც მომხმარებელი დააჭერს ღილაკს "მეტის ჩვენება". ამ გზით გვერდი ბევრად უფრო სწრაფად იტვირთება. და ახლა საქმე იმაშია, რომ ajax ტექნოლოგიის გამოყენებით ჩვენ ჩავტვირთავთ საჭირო ელემენტს (div) და მესამე მხარის ფაილს ჩვენს სადესანტო გვერდზე. ყველაფერი ძალიან მარტივია, როგორც თეორიულად, ასევე პრაქტიკაში და ამას მალე ნახავთ.

ახლა შევქმნათ მთავარი ბლოკი, მაგალითად, ჩვენი ნამუშევრების სურათებით. დავუშვათ, ჩვენ ვხატავთ ხატებს და ვტვირთავთ ღილაკზე დაწკაპუნებისას. მე შევქმენი ეს სტრუქტურა:

პორტფოლიო მეტის ჩვენება...

როგორც ხედავთ, ყველაფერი მარტივია. მაგრამ რას უნდა მიაქციოთ ყურადღება? და ყურადღება უნდა მიაქციოთ div-ს id="smartPortfolio", id="moreButton" და id="loadingDiv", რადგან ისინი გამოიყენება სკრიპტში, რაც გვეხმარება ჩატვირთოთ კონტენტი სხვა გვერდებიდან. SmartPortfolio არის "კონტეინერი" ჩვენი პორტფოლიოსთვის. MoreButton - ეს იქნება ჩვენი ღილაკი, დაწკაპუნებისას პორტფელის სხვა ნაწილი ჩაიტვირთება. LoadingDiv - ზონა, სადაც ტექსტი გამოჩნდება, როდესაც პორტფოლიო სრულად გაიხსნება ან რაიმე შეცდომა მოხდება.

მაგალითად, ზოგიერთი მკითხველი კვლავ შეეცდება შეამოწმოს ეს სკრიპტი არა სერვერზე, არამედ უბრალოდ გახსნის ინდექსის ფაილს ბრაუზერში. თუ ასეა, ისინი დაინახავენ შეცდომის შეტყობინებას. გარდა ამისა, ძალიან ნელი კავშირით, ფაილების ჩამოტვირთვას შეიძლება დრო დასჭირდეს და იმისათვის, რომ მომხმარებელმა გაიგოს, რომ პროცესი მიმდინარეობს, შეგიძლიათ დაწეროთ შეტყობინება, რომ მონაცემები იტვირთება ან განათავსეთ (სურათი, პროგრესის მაჩვენებელი ან სხვა სხვა).

თავად სკრიპტი არ დამიწერია, მაგრამ ვიპოვე ერთ-ერთ საიტზე, ავტორი მითითებულია საწყის კოდში, თუ გაინტერესებთ, გადახედეთ. იმის გამო, რომ ის არც თუ ისე დიდია, ყველაფერს მივცემ, მაგრამ თუ თქვენ გეგმავთ იგივე ID სახელების და ფაილის ბილიკების გამოყენებას, როგორც მე, თქვენ არც კი გჭირდებათ მისი ყურება, არამედ უბრალოდ ჩართეთ იგი დახურვის ტეგამდე. (ძირში) .

მათთვის, ვინც გეგმავს რედაქტირების გაკეთებას, აქ არის თავად სკრიპტი:

Var lazyload = ზარმაცი დატვირთვა || (); (ფუნქცია ($, lazyload) ( "გამოიყენე მკაცრი"; var page = 2, buttonId = "#moreButton", loadingId = "#loadingDiv", კონტეინერი = "#smartPortfolio"; lazyload.load = ფუნქცია() ( var url = "./გვერდები/" + გვერდი + ".html"; $(buttonId). !response ||. answer.trim() == "NONE") ($(buttonId).fadeOut(); პასუხი) ($(loadingId).text("ბოდიში, თხოვნასთან დაკავშირებით მოხდა გარკვეული შეცდომა."; ) ) $(buttonId).show(); ).appendTo($(container));

ასე რომ, ახლა ღირს ვისაუბროთ იმ ფაილებზე, საიდანაც ავტვირთავთ ინფორმაციას. სკრიპტი ვარაუდობს, რომ ეს იქნება ფაილები სახელებით 2.html...5.html და ა.შ. რომელიც შეიცავს ჩვენს ინფორმაციას. მაგალითად, პირველი ფაილი, რომელსაც ვტვირთავ არის 2.html და აქვს შემდეგი შინაარსი:

ჩემი საიტის სტრუქტურაში, გვერდები, საიდანაც ინფორმაცია იქნება აღებული შემდგომი ჩატვირთვისას დაწკაპუნებისას, მდებარეობს გვერდების საქაღალდეში. არის სამი ფაილი, რომელთაგან ორი სავსეა, ბოლო კი ცარიელი. ეს არის ის, რასაც სცენარის ლოგიკა ითვალისწინებს.

ბილიკი სკრიპტში მითითებულია შემდეგნაირად:

Var url = "./pages/" + გვერდი + ".html";

თუ სხვა გზის გამოყენებას გეგმავთ, აუცილებლად შეცვალეთ იგი სკრიპტში. გარდა ამისა, თუ იყენებდით სხვა პირადობის მოწმობებს, მაშინ ისინი ხელახლა უნდა განისაზღვროს სკრიპტში. აი ეს არის:

ButtonId = "#moreButton", loadingId = "#loadingDiv", კონტეინერი = "#smartPortfolio";

და, როგორც უკვე ვთქვი, სხეულის დახურვის ტეგამდე ჩვენ ჩართავთ თავად სკრიპტს:

ასე შეგიძლიათ განახორციელოთ „ზარმაცი დატვირთვა“ თქვენს სადესანტო გვერდზე. გამოგვიგზავნეთ მეტი თემები, რომლებზეც გსურთ წაიკითხოთ სტატია ბლოგზე. შეძლებისდაგვარად ვეცდები გამოვაქვეყნო არა დაგეგმილი მასალა, არამედ ის, რაზეც თქვენ გეკითხებით განყოფილებაში „თქვენი წინადადებები“. და ეს ყველაფერი დღეისთვის. ნახვამდის!

AJAX და jQuery. დინამიური შინაარსის განახლება. საფუძვლები (ცვლილებები 01/03/2012 წლიდან)

ამ სტატიაში ვისაუბრებთ იმაზე, თუ რა არის AJAX და jQuery და განვიხილავთ მათი გამოყენების მაგალითებს.

AJAX არის ინსტრუმენტი ვებ აპლიკაციების შესაქმნელად, რომლებიც ურთიერთობენ სერვერთან ფონზე. ამ შემთხვევაში, მომხმარებელი იღებს აპლიკაციას დინამიური შინაარსის განახლებით, მთელი გვერდის გადატვირთვის გარეშე.

jQuery არის JavaScript ჩარჩო, ბიბლიოთეკა, რომელიც საშუალებას გაძლევთ უფრო მოხერხებულად გამოიყენოთ Javascript-ის ზოგიერთი ფუნქცია, როგორიცაა ვიზუალური ეფექტების შექმნა, ღონისძიებების მართვა, DOM და AJAX მხარდაჭერით მუშაობა.

შეგიძლიათ ჩამოტვირთოთ jQuery-ის უახლესი ვერსია და დეტალურად გაეცნოთ ყველა ფუნქციას დეველოპერის ვებსაიტზე: http://www.jquery.com/

ამ სტატიაში განვიხილავთ jQuery ბიბლიოთეკის მხოლოდ ერთ ფუნქციას, კერძოდ $.ajax() ფუნქციას. ეს ფუნქცია საშუალებას გვაძლევს გადავიტანოთ მონაცემები სერვერზე და მივიღოთ პასუხები სერვერისგან, ყველაფერი ფონზე, გვერდის გადატვირთვის გარეშე. მონაცემების მიღების ან გადაცემის პარამეტრები დამოკიდებულია იმ პარამეტრებზე, რომლებითაც გამოიძახება $.ajax() ფუნქცია. ძირითადი მათგანი ქვემოთ იქნება განხილული. პარამეტრების შესახებ მეტი შეგიძლიათ წაიკითხოთ jQuery სახელმძღვანელოში.

მოდით გადავიდეთ მაგალითების განხილვაზე.

მნიშვნელოვანი!
იმისათვის, რომ მაგალითებმა სწორად იმუშაოს, თქვენ უნდა:
1. ყველა ფაილი უნდა იყოს დაწერილი UTF-8 კოდირებით.
2. სკრიპტები უნდა იყოს შესრულებული ვებ სერვერზე და არა ბრაუზერში, როგორც ფაილი.

მაგალითი 1: შინაარსის დინამიურად განახლება ტაიმერის გამოყენებით

მოდით შევქმნათ მარტივი პროგრამა, რომელიც აჩვენებს მიმდინარე დროს, განახლდება წამში ერთხელ ტაიმერის გამოყენებით. ამ პროგრამის ფუნქცია იქნება სხვა გარე ფაილიდან მიმდინარე დროის შესახებ ინფორმაციის მიღება.

index.html ფაილის შიგთავსი.

ფუნქცია show() ($.ajax(( url: "time.php", ქეში: false, წარმატება: function(html)($("#content").html(html); ) )); ) $(დოკუმენტი ).ready(function())( show(); setInterval("show()",1000); ));

კოდს აქვს რამდენიმე მახასიათებელი, მოდით განვმარტოთ ისინი.

1. jQuery ბიბლიოთეკა შედის HTML ფაილის სათაურში, ეს სტრიქონი ამ მიზნით არის დაწერილი.

თავად jquery.js ფაილი მდებარეობს იმავე საქაღალდეში, სადაც სამაგალითო ფაილებია.

2. დოკუმენტის კორპუსში იქმნება კონტეინერი, რომელშიც ჩავტვირთავთ კონტენტს.

3. ფუნქცია $(document).ready(), ერთი შეხედვით უცნაური, საჭიროა jQuery-ის გამართულად მუშაობისთვის და მასში შეგვიძლია შევასრულოთ ყველა მზადება პროგრამის მუშაობისთვის. ჩვენს შემთხვევაში ვუწოდებთ show() ფუნქციას, რომელიც განსაზღვრავს სხვა ფაილიდან შინაარსის ამოღების მექანიზმს და ვაყენებთ ტაიმერს ისე, რომ show() ფუნქცია გამოიძახოს წამში ერთხელ.

$(დოკუმენტი).ready(function())( show(); setInterval("show()",1000); ));

4. show() ფუნქცია შედგება $.ajax() ფუნქციის გამოძახებისგან გარკვეული რაოდენობის პარამეტრებით, რაც საშუალებას გვაძლევს მივიღოთ ინფორმაცია გარე ფაილიდან სერვერზე ფონზე.

$.ajax(( url: "time.php", ქეში: false, წარმატება: ფუნქცია(html)( $("#content").html(html); ) ));

მოდით გადავხედოთ $.ajax() ფუნქციის მიერ გამოყენებულ პარამეტრებს.

URL: "time.php" წვდება time.php ფაილს შინაარსის მოსაძიებლად.
ქეში: false შეკითხვის შედეგები არ არის ქეშირებული.

success: function(html)( $("#content").html(html); ) თუ მოთხოვნა წარმატებულია, კონტროლი გადადის ფუნქციაზე, რომელიც იღებს კონტენტს პარამეტრად და წერს მის კონტეინერს. კონტეინერში ჩაწერა ხდება ამ სტრიქონში:

$("#content").html(html);

time.php ფაილის შინაარსი.

time.php ფაილის მიზანია ეკრანზე მიმდინარე დროის ჩვენება.

ჩამოტვირთეთ წყარო ფაილების მაგალითი (16.6 kb):

index.html ფაილის შიგთავსი.

მაგალითი 2: კონტენტის დინამიურად განახლება მომხმარებლის შერჩევის საფუძველზე

პროგრამა, რომელიც დინამიურად ატვირთავს შინაარსს მომხმარებლის შეხედულებისამებრ.

რომელი გვერდის გახსნას ისურვებდით?

$(document).ready(function())($("#btn1").click(function())($.ajax(( url: "page1.html", ქეში: false, წარმატება: function(html) ( $ ("#content").html(html); )); : ფუნქცია(html)( $("#content").html(html); ) ));

დოკუმენტის ძირითად ნაწილში შეიქმნა ფორმა, რომელსაც აქვს ორი ღილაკი, რომლის მეშვეობითაც მომხმარებელი ირჩევს სასურველ შინაარსს. და კონტეინერი შინაარსის ჩასატვირთად.

"გვერდი 1" ღილაკზე დაწკაპუნების მოვლენა მუშავდება $("#btn1").click() ფუნქციით, ხოლო დაწკაპუნების მოვლენა ღილაკზე "გვერდი 2" მუშავდება $("#btn2"). click() ფუნქცია.

page1.html და page2.html ფაილების შიგთავსი, რომლებიც დინამიურად იტვირთება შინაარსის ზონაში, არის მარტივი HTML გვერდები ან ტექსტური ფაილები, რომლებიც შეიცავს შინაარსს.

მოდით შევხედოთ მაგალითს, რომელიც აგზავნის შეყვანილ მომხმარებლის სახელს სერვერზე. როდესაც სერვერი იღებს სახელს, ის გამოსცემს მისალმებას და ითვლის სიმბოლოების რაოდენობას შეყვანილ სახელში.

index.html ფაილის შიგთავსი.

შეიყვანეთ სახელი:


$(დოკუმენტი).ready(function())( $("#myForm").submit(function())($.ajax(( type: "POST", url: "greetings.php", data: "username =" +$("#username").val(), success: function(html)($("#content").html(html); ) ));

დოკუმენტის მთავარ ნაწილში შეიქმნა მომხმარებლის სახელის შეყვანის ფორმა. და კონტეინერი დინამიური შინაარსის ჩატვირთვისთვის.

გაითვალისწინეთ, რომ ფორმას არ აქვს ჩვეულებრივი მოქმედებისა და მეთოდის ველები. ფუნქცია $("#myForm").submit() ემსახურება ღილაკზე "გაგზავნა" დაწკაპუნების მოვლენის დამმუშავებლის ფუნქციას. მოდით შევხედოთ ამ ფუნქციას.

$("#myForm").submit(function())($.ajax((type: "POST", url: "greetings.php", data: "username="+$("#username").val ( ), წარმატება: ფუნქცია(html)( $("#content").html(html); ) ));

როგორც ვხედავთ, მთავარი სამუშაო კვლავ დაკავშირებულია $.ajax() ფუნქციასთან. ამჯერად ჩნდება დამატებითი პარამეტრები, რომლებიც არ იყო გათვალისწინებული 1 და 2 მაგალითებში. კერძოდ:

ტიპი: "POST" მონაცემთა გადაცემის ტიპი.
data: "username="+$("#username").val() სერვერზე გადაცემული პარამეტრები. ამ შემთხვევაში ჩვენ გადავცემთ მომხმარებლის სახელის ველს - მომხმარებლის სახელს. ზოგადად, პარამეტრები იწერება ისე, როგორც GET მეთოდში, ერთ ხაზზე, მაგალითად:

მონაცემები: "username=Vasya&age=18&sex=male"

გთხოვთ გაითვალისწინოთ, რომ დასასრულს არის ხაზი:

ცრუ დაბრუნება; ეს კეთდება იმისთვის, რომ ფორმა არ ცდილობდეს მონაცემების გადატანას ფაილზე, საიდანაც ის გაშვებულია და გვერდი არ გადაიტვირთოს.

greetings.php ფაილის შინაარსი.

ჩვენ ვაჩვენებთ მისალმებას და ვითვლით სახელში სიმბოლოების რაოდენობას.

ჩამოტვირთეთ საწყისი ფაილების მაგალითი (16.8 kb):

დასასრულს უნდა ითქვას, რომ გვერდების შექმნის აშკარა უპირატესობების გარდა, დინამიური განახლების შინაარსის გამოყენებით, არსებობს მთელი რიგი უარყოფითი მხარეები, რომლებიც უნდა იქნას გათვალისწინებული საიტის შემუშავებისას, კერძოდ:

1. გვერდებზე, სადაც დინამიური კონტენტი განახლებულია, ბრაუზერში ღილაკი „უკან“ არ მუშაობს სწორად.

2. გვერდები დინამიური შინაარსის განახლებით არ ცვლის URL-ებს მათი შინაარსიდან გამომდინარე, ამიტომ მათი სანიშნეების მონიშვნა შეუძლებელია.

3. გვერდები დინამიური შინაარსის განახლებით არ არის ინდექსირებული საძიებო სისტემების მიერ, რადგან ისინი არ ასრულებენ JavaScript ბრძანებებს.



რაიმე შეკითხვა?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: