我有一個網頁上的幾個腳本,我遍歷它們,找出哪些是廣告調用(包含特定的字符串),然後解析這些腳本標籤來抓取一些來自這些腳本標記的url參數。返回一個對象返回undefined在第二次迭代
var cmunt_uniqueId, cmnunt_kw;
var scripts = jQuery('script');
var adObject = {};
jQuery(scripts).each(function(v,u) {
if ((jQuery(u).attr('src') !== undefined) && (jQuery(u).attr('src').indexOf('cmnUNTmob-20121130.js') > -1)) {
console.log('script.src[' + v + ']="' + jQuery(u).attr('src') + '"');
var adCall = jQuery(u).attr('src');
// console.log(adCall);
var pubtag = adCall;
var newtag = pubtag.replace(/^[^\?]+\??/, '');
var parts = newtag.split('&');
var part1 = parts[0].split('=');
var part2 = parts[1].split('=');
var cmn_site_unit = part1[1].split('/');
var cmn_site = cmn_site_unit[0];
var cmn_unit = cmn_site_unit[1];
cmnunt_kw = part2[1];
var cmunt_uniqueId = getCookie('__utma');
adObject['cmn_unit'] = cmn_unit;
adObject['cmn_site'] = cmn_site;
console.log('inside function');
console.log(adObject['cmn_site']);
console.log(adObject['cmn_unit']);
return adObject;
}
});
console.log('outside function');
console.log(adObject['cmn_site']);
console.log(adObject['cmn_unit']);
在函數內部,在兩個處決變量設置並分配到一個對象,用於解析功能的外部。在函數之外,在第二次執行時,變量返回爲undefined。
下面是運行腳本的頁面調用: WebPage
你可以看到使用Firebug控制檯輸出。任何人都可以解釋爲什麼會發生?
您在每次迭代時都用新值覆蓋對象鍵。您需要另一個鍵/屬性來存儲更多值。 – adeneo