javascript 模擬點(diǎn)擊廣告
更新時(shí)間:2010年01月02日 03:13:08 作者:
我們不管js或iframe怎么調(diào)用的,模擬點(diǎn)擊就意味著打開(kāi)廣告鏈接,廣告商就以為用戶(hù)點(diǎn)擊了他的廣告,所以我們只要保證點(diǎn)擊了一個(gè)鏈接但沒(méi)有跳出頁(yè)面的結(jié)果就行了,是嗎?
1.用隱藏iframe來(lái)加載廣告頁(yè)面。
<!一開(kāi)始我們就使用一個(gè)看不到的框架ID名為:framelink-->
<iframe id="framelink" name="framelink" frameBorder="0" scrolling="no" width="0" height="0"></iframe>
<!--創(chuàng)建一個(gè)帶ID為“myLink”的連接-->
<a id='myLink' target="framelink"></a>
<!--寫(xiě)一個(gè)JS模擬點(diǎn)擊ID為“myLink”的A連接并設(shè)定相關(guān)的屬性-->
<SCRIPT language=JavaScript type=text/javascript>
<!--
var GoUrl = "http://www.test.com";//這里是要模擬點(diǎn)擊的網(wǎng)站。
//如果你要支持多個(gè)站點(diǎn)模擬可以設(shè)GoUrl為一個(gè)數(shù)組。遍歷進(jìn)行以下動(dòng)作。
var myLink = document.getElementById("myLink");//定位元素為“myLink”
myLink.href = GoUrl;//設(shè)置“myLink”的href屬性
myLink.click();//模擬click動(dòng)作
-->
</SCRIPT>
用上面的代碼會(huì)造成iframe加載廣告頁(yè)面,如果頁(yè)面過(guò)大,速度就會(huì)很慢,可以用ajax來(lái)實(shí)現(xiàn)無(wú)刷新加載
window.onload=function(){
...
var url="www.example.com/thiurl";//廣告的URL
xmlHttp.open("GET",url,true);//采用異步傳輸.這樣用戶(hù)感覺(jué)不到任何停頓.
xmlHttp.send(null);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readystate==4&&xmlHttp.status==200){
//響應(yīng)完成之后關(guān)閉連接.
xmlHttp.close();
}
}
...
}
這里只提供個(gè)思路,也許會(huì)有更好的做法!(注意,如果跨域的話(huà)是不能操作的)
1.firefox:
var doc = document.getElementById('myiframe').contentWindow.document;
然后doc.getElementById
2.ie:
var doc = document.getElementById("myiframe").document;
然后doc.getElementById("iframeTitle");
注意,如果跨域的話(huà)是不能操作的
這段代碼的做法是頁(yè)面加載后,根據(jù)className="touPiao"來(lái)讀取要模擬點(diǎn)擊的url,如為#,即當(dāng)前頁(yè)面,
我們也可以設(shè)置:<a href="www.javaeye.com" onclick="showModify(this)" class="touPiao">我要投票1111</a>
程序然后根據(jù)for循環(huán),for(var el in els){ 開(kāi)始依次模擬點(diǎn)擊讀到的所有url。
最后會(huì)打開(kāi)一個(gè)url的頁(yè)面,我們可以添加一個(gè)空的iframe,
如:<iframe id="framelink" name="framelink" frameBorder="0" scrolling="no" width="0" height="0"></iframe>
并修改鏈接為:<a href="m.fzitv.net" onclick="showModify(this)" class="touPiao" target="framelink">我要投票1111</a>
這樣就實(shí)現(xiàn)了頁(yè)面加載后,模擬點(diǎn)擊頁(yè)面
復(fù)制代碼 代碼如下:
<!一開(kāi)始我們就使用一個(gè)看不到的框架ID名為:framelink-->
<iframe id="framelink" name="framelink" frameBorder="0" scrolling="no" width="0" height="0"></iframe>
<!--創(chuàng)建一個(gè)帶ID為“myLink”的連接-->
<a id='myLink' target="framelink"></a>
<!--寫(xiě)一個(gè)JS模擬點(diǎn)擊ID為“myLink”的A連接并設(shè)定相關(guān)的屬性-->
<SCRIPT language=JavaScript type=text/javascript>
<!--
var GoUrl = "http://www.test.com";//這里是要模擬點(diǎn)擊的網(wǎng)站。
//如果你要支持多個(gè)站點(diǎn)模擬可以設(shè)GoUrl為一個(gè)數(shù)組。遍歷進(jìn)行以下動(dòng)作。
var myLink = document.getElementById("myLink");//定位元素為“myLink”
myLink.href = GoUrl;//設(shè)置“myLink”的href屬性
myLink.click();//模擬click動(dòng)作
-->
</SCRIPT>
用上面的代碼會(huì)造成iframe加載廣告頁(yè)面,如果頁(yè)面過(guò)大,速度就會(huì)很慢,可以用ajax來(lái)實(shí)現(xiàn)無(wú)刷新加載
復(fù)制代碼 代碼如下:
window.onload=function(){
...
var url="www.example.com/thiurl";//廣告的URL
xmlHttp.open("GET",url,true);//采用異步傳輸.這樣用戶(hù)感覺(jué)不到任何停頓.
xmlHttp.send(null);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readystate==4&&xmlHttp.status==200){
//響應(yīng)完成之后關(guān)閉連接.
xmlHttp.close();
}
}
...
}
這里只提供個(gè)思路,也許會(huì)有更好的做法!(注意,如果跨域的話(huà)是不能操作的)
1.firefox:
var doc = document.getElementById('myiframe').contentWindow.document;
然后doc.getElementById
2.ie:
var doc = document.getElementById("myiframe").document;
然后doc.getElementById("iframeTitle");
注意,如果跨域的話(huà)是不能操作的
這段代碼的做法是頁(yè)面加載后,根據(jù)className="touPiao"來(lái)讀取要模擬點(diǎn)擊的url,如為#,即當(dāng)前頁(yè)面,
我們也可以設(shè)置:<a href="www.javaeye.com" onclick="showModify(this)" class="touPiao">我要投票1111</a>
程序然后根據(jù)for循環(huán),for(var el in els){ 開(kāi)始依次模擬點(diǎn)擊讀到的所有url。
最后會(huì)打開(kāi)一個(gè)url的頁(yè)面,我們可以添加一個(gè)空的iframe,
如:<iframe id="framelink" name="framelink" frameBorder="0" scrolling="no" width="0" height="0"></iframe>
并修改鏈接為:<a href="m.fzitv.net" onclick="showModify(this)" class="touPiao" target="framelink">我要投票1111</a>
這樣就實(shí)現(xiàn)了頁(yè)面加載后,模擬點(diǎn)擊頁(yè)面
相關(guān)文章
使用uniapp實(shí)現(xiàn)發(fā)布朋友圈功能
這篇文章主要介紹了使用uniapp實(shí)現(xiàn)發(fā)布朋友圈功能,在文章底部給大家介紹了uniapp?微信小程序分享、分享朋友圈功能,通過(guò)頁(yè)內(nèi)自定義分享按鈕,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
js 實(shí)現(xiàn) list轉(zhuǎn)換成tree的方法示例(數(shù)組到樹(shù))
這篇文章主要介紹了js 實(shí)現(xiàn) list轉(zhuǎn)換成tree的方法示例(數(shù)組到樹(shù)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
詳解webpack-dev-server的簡(jiǎn)單使用
本篇文章主要介紹了詳解webpack-dev-server的簡(jiǎn)單使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
小程序怎樣讓wx.navigateBack更好用的方法實(shí)現(xiàn)
這篇文章主要介紹了小程序怎樣讓wx.navigateBack更好用的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
深入淺析JavaScript系列(13):This? Yes,this!
在這篇文章里,我們將討論跟執(zhí)行上下文直接相關(guān)的更多細(xì)節(jié)。討論的主題就是this關(guān)鍵字。實(shí)踐證明,這個(gè)主題很難,在不同執(zhí)行上下文中this的確定經(jīng)常會(huì)發(fā)生問(wèn)題2016-01-01

