Im Internet sehen wir oft verschiedene Arten von Abstimmungen. Heute werfen wir einen Blick auf die Online-Abstimmungen großer Hersteller.
Ich habe heute Youku gesehen und zufällig einen tollen Kerl von Youku gesehen – ich bin ein legendärer Online-Wähler. Ich bin sehr neugierig, wie diese großen und großartigen Unternehmen Online-Abstimmungen durchführen führt Online-Abstimmungen durch.
Youku Talent – Ich bin eine Legende Online-Abstimmungsseite: http://c.youku.com/niuren
Wählen Sie zufällig einen Spieler aus, und eine schwebende Wiedergabeebene mit einer Abstimmungsschaltfläche wird angezeigt Nachdem Sie oben geklickt haben, stimmen Sie erneut ab. Zur Erinnerung: Sie haben bereits abgestimmt. Bitte stimmen Sie nach einer Stunde erneut ab. -----Es scheint, dass diese Abstimmung normal ist, aber das sind oberflächliche Phänomene.
Mit Firebug können wir feststellen, dass jede Abstimmung eine http-Anfrage auslöst
Wir können diesen http-Link setzen:
http://minisite.youku.com/pub2/i_am_legend/vote.php? Kann ich meine Stimmen einfach swipen? ?
Mit Neugier öffnete ich die Seite und fand die Stimmenzahl dieses Teilnehmers:
Mein erster Gedanke war, dass dies der Abstimmung, die ich normalerweise mache, sehr ähnlich sei, also suchte ich schnell nach der Ajax-Anfragedatei auf der Listenseite;
Tatsächlich habe ich Folgendes gefunden:
http://minisite.youku.com/pub2/i_am_legend/getvote.php?page=1&callback=cc&count=8&i=0.42276474971249034
Das ist ein sehr typische getjson-Methode, die in jquery zurückgegeben wird Die Daten
(Ich verwende das jquery-Framework, Youku verwendet nicht das jq-Framework, aber es stellt sich heraus, dass es ähnlich ist), ich habe einen anderen Quellcode für diese Anfrage gefunden:
function vTpListGet(pg, pz, t){ pg = (pg || 1); pz = (pz || 8); t = (t || false); cc = function(oList, total){ if(oList.length > 0){ var html = ""; for(var i=0;i < oList.length;i++){ html += "<ul class=\"x\">\n"; html += " <li class=\"x_thumb\"><a href=\"javascript:;\" onclick=\"vTpSet('"+oList[i].videoid+"','"+oList[i].title+"');\" title=\""+oList[i].title+"\"><img src=\""+oList[i].thumburl+"\" alt=\""+oList[i].title+"\" /></a></li>\n"; html += " <li class=\"x_title\"><a href=\"javascript:;\" onclick=\"vTpSet('"+oList[i].videoid+"','"+oList[i].title+"');\" title=\""+oList[i].title+"\">"+oList[i].title+"</a></li>\n"; html += " <li class=\"x_data\">票数:<span class=\"num\">"+oList[i].total+"</span></li>\n"; html += " <li class=\"x_btn\"><span class=\"btn\" onclick=\"vTpSet('"+oList[i].videoid+"','"+oList[i].title+"');\"></span></li>\n"; html += "</ul>\n"; } html += "<p class=\"clear\"></p>"; //alert(html); document.getElementById('videosTpList').innerHTML = html; if(t){ //显示分页 max_cnt = pz; var js_pager = new jsPager(); js_pager.init(total, pz, pg, "vTpPager"); document.getElementById('videosTpPager').style.display = ""; document.getElementById('videosTpPager').innerHTML = js_pager.getHtml(); } } }; js_request("http://minisite.youku.com/pub2/i_am_legend/getvote.php?page="+pg+"&callback=cc&count="+pz+"&i=" + Math.random()); }
Schauen wir uns das an bei Youkus Methode, häufige Abstimmungen einzuschränken:
function vTp(vid){ c = function(num,vid){ alert("投票成功,目前票数为:"+num+"票!"); var exp = new Date (); exp.setTime(exp.getTime() + 3600000); setCookie("nrtp", "true", exp); } if(getCookie("nrtp") != "true"){ js_request("http://minisite.youku.com/pub2/i_am_legend/vote.php?id="+vid+"&callback=c&i=" + Math.random()); }else{ alert("一小时内只能投票一次!"); return false; } }
Das obige ist der detaillierte Inhalt vonWie führen große Hersteller Online-Abstimmungen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!