function singplay() {
var self = this;
this.prefix = "sing_play__fm_";
this.playIndex = -1;
this.listIndex = { PlayList: 0, MusicBox: 1 };
this.isLogin = false;
this.countMusicbox = -1;
this.cookieList = { PlayList: this.prefix + "0", MusicBox: this.prefix + "1" };
this.cookie;
this.agent;
this.init();
}
singplay.prototype.init = function () {
var self = this;
this.cookie = self.cookieList.PlayList;
};
singplay.prototype.setCurrentCookie = function (o) {
this.cookie = o;
};
其他页面的
查找数组中是否包含某个元素
*/
Array.prototype.include = function (val) {
return this.index(val) !== null;
}
//#endregion
//#region getCookie
/*获取cookie
*/
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return JSON.parse(unescape(arr[2])); return null;
}
function getcookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null;
}
//#endregion
//#region setCookie
/*设置cookie
*/
function setCookie(name, value) {
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
//alert(getCookie(name) + "||" + name);
}
//#endregion
//#region deleteCookie
/*删除cookie
*/
function deleteCookie(name, path, domain) {
if (getcookie(name)) {
document.cookie = name + '=' +
((path) ? ';path=' + path : '') +
((domain) ? ';domain=' + domain : '') +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
}
这个代码 具体是什么意思! 上面代码 访问一个页面后 在访问其他新的页面 久的页面! 之前的页面会内容被覆盖!输出的 cookie 最新访问的 数据
怎么改成不 覆盖
用PHP 或者的话 要怎么写
9 个解决方案
#1
粗粗看过去你还没找到关键的代码。搜一下 singplay
#2
嗯,搜一下 setCookie
#3
地址/mus/?id=21,22,23,24
问题是怎么改啊!!!
访问一个A页面后 在访问B新的页面或者这更多! 上面访问 多个ID 的话 保存 能保存的! 如果在访问其他ID 的时候 比例 /mus/?id=25 然后21,22,23,24 这些ID 数据 没了!之前保存的 在访问 25后 被删除了!
A页面! 第一个访问的页面A会内容被覆盖!会被删除
cookie 输出的是 最新访问的 数据
要怎么改 才 保存 访问没个ID 数据
#4
你没发出关键的代码,找一代码里那个部分调用了 setCookie
#5
回复 楼上!
代码 非常多! 10多个js文件! 文件发的时候就检测过了! 就2个文件有 setCookie
上面是完整代码!
下面是 列表调用代码
代码 非常多! 10多个js文件! 文件发的时候就检测过了! 就2个文件有 setCookie
(function () {
// remove layerX and layerY
var all = $.event.props,
len = all.length,
res = [];
while (len--) {
var el = all[len];
if (el != 'layerX' && el != 'layerY') res.push(el);
}
$.event.props = res;
} ());
//#region replaceSymbol
/*转换"=>" '=>';
*/
String.prototype.replaceSymbol = function () {
return this.replace('"', '"').replace('\'', ''');
}
//#endregion
//#region len
/*计算中英文混合的字符串长度
*/
String.prototype.len = function () {
return this.replace(/[^\x00-\xff]/g, "rr").length;
}
//#endregion
//#region sub
/*分割中英文混合的字符串
*/
String.prototype.sub = function (n) {
var r = /[^\x00-\xff]/g;
if (this.replace(r, "mm").length <= n) return this;
// n = n - 3;
var m = Math.floor(n / 2);
for (var i = m; i < this.length; i++) {
if (this.substr(0, i).replace(r, "mm").length >= n) {
return this.substr(0, i);
}
} return this;
}
//#endregion
//#region index
/*
查找某个元素所在的键值
*/
Array.prototype.index = function (val) {
for (var i = 0, l = this.length; i < l; i++) {
if (this[i].mp3 == val) return i;
}
return null;
}
//#endregion
//#region include
/*
查找数组中是否包含某个元素
*/
Array.prototype.include = function (val) {
return this.index(val) !== null;
}
//#endregion
//#region getCookie
/*获取cookie
*/
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return JSON.parse(unescape(arr[2])); return null;
}
function getcookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null;
}
//#endregion
//#region setCookie
/*设置cookie
*/
function setCookie(name, value) {
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
//alert(getCookie(name) + "||" + name);
}
//#endregion
//#region deleteCookie
/*删除cookie
*/
function deleteCookie(name, path, domain) {
if (getcookie(name)) {
document.cookie = name + '=' +
((path) ? ';path=' + path : '') +
((domain) ? ';domain=' + domain : '') +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
}
//#endregion
//#region trim
/*去掉两边的空格
*/
function trim(str) {
return str.replace(/(^\s*)(\s*$)/g, '');
}
//#endregion
//#region getoutside
/*获取网站标识
*/
function getoutside() {
var url = window.location.pathname;
var i = url.lastIndexOf("/");
url = url.substring(1, i);
if (url == "91test") url = "91";
if (url == "wandoujiatest") url = "wandoujia";
return url;
}
//#endregion
function getoutsidenoparent() {
var url = window.location.pathname;
var i = url.lastIndexOf("/");
url = url.substring(1, i);
if (url == "91test") url = "91";
if (url == "wandoujiatest") url = "wandoujia";
return url;
}
//#endregion
//#region loadjs
function loadjs(name) {
// 创建script标签,设置其属性
var script = document.createElement('script');
script.setAttribute('src', name);
// 把script标签加入head,此时调用开始
document.getElementsByTagName('head')[0].appendChild(script);
}
//#endregion
//#region bindTooltip
/*绑定文字提示
*/
function bindTooltip() {
$('.item_list ul li.shopinfo a[href][title]').qtip({
content: {
text: false // Use each elements title attribute
},
position: {
corner: {
tooltip: 'bottomMiddle', // Use the corner...
target: 'topMiddle' // ...and opposite corner
}
},
style: {
border: {
width: 5,
radius: 10
},
padding: 10,
textAlign: 'left',
tip: true, // Give it a speech bubble tip with automatic corner detection
name: 'green' // Style it according to the preset 'cream' style
}
});
}
//#endregion
//#region bindTooltipNew
/*绑定文字提示
*/
function bindTooltipNew() {
$('.list_item h4 a[href][title]').qtip({
content: {
text: false // Use each elements title attribute
},
position: {
corner: {
tooltip: 'bottomMiddle', // Use the corner...
target: 'topMiddle' // ...and opposite corner
}
},
style: {
border: {
width: 5,
radius: 10
},
padding: 10,
textAlign: 'left',
tip: true, // Give it a speech bubble tip with automatic corner detection
name: 'green' // Style it according to the preset 'cream' style
}
});
}
//#endregion
//#region 获取url参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
//#endregion
function getQueryStringRegExp(name) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
// if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return "";
if (reg.test(location.href)) return RegExp.$2.replace(/\+/g, " "); return "";
}
function setLinkCookier() {
l = 99;
jQuery.getJSON('../h/ajaxhandler.ashx', { "l": l }, function (obj) {
});
}
$(function ($) {
$("#txtKey").keypress(function (e) {
if (e.which == 13) {// 判断所按是否回车键
search();
}
});
var jsname = "../js/" + getoutside() + ".js";
//loadjs(jsname);
});
上面是完整代码!
下面是 列表调用代码
function initPlayList() {
var a = 1;
_$.ajax({
async: false,
type: "post",
url: "initPlayList.php?ids=" + _ids,
data: "cmd=" + a + "&rand=" + Math.random(),
dataType: "json",
success: function(o) {
if (o.status == 1) {
_list = [];
for (var i = 0; i < o.datas.length; i++) {
addToPlaylist(o.datas[i].songurl, o.datas[i].songname, o.datas[i].songid, o.datas[i].song, o.datas[i].hit, o.datas[i].songtype, o.datas[i].userid, sing.listIndex.PlayList)
}
saveData(sing.cookieList.PlayList, escape(JSON.stringify(_list)))
}
}
})
}
#6
不是说两个文件吗?还有一个文件在那?也有可能没有调用setCookie,你给的代码只是实现没有调用。
再试试查找addToPlaylist,saveData,估计在saveData里。
再试试查找addToPlaylist,saveData,估计在saveData里。
#7
1楼 第一个代码 是完整的! 还有5 楼 下面
第一个 文件 名 m.js 二 common.js 三 mp3.js 四playe.js
蛋挞 代码太多! 发不上!
http://my.csdn.net/my/code/detail/43872
只能发这了!
第一个 文件 名 m.js 二 common.js 三 mp3.js 四playe.js
蛋挞 代码太多! 发不上!
http://my.csdn.net/my/code/detail/43872
只能发这了!
#8
http://blog.csdn.net/caisheng11/article/details/8741248
上面地址错了! 代码都是完整的!
上面地址错了! 代码都是完整的!
#9
#1
粗粗看过去你还没找到关键的代码。搜一下 singplay
#2
嗯,搜一下 setCookie
#3
地址/mus/?id=21,22,23,24
问题是怎么改啊!!!
访问一个A页面后 在访问B新的页面或者这更多! 上面访问 多个ID 的话 保存 能保存的! 如果在访问其他ID 的时候 比例 /mus/?id=25 然后21,22,23,24 这些ID 数据 没了!之前保存的 在访问 25后 被删除了!
A页面! 第一个访问的页面A会内容被覆盖!会被删除
cookie 输出的是 最新访问的 数据
要怎么改 才 保存 访问没个ID 数据
#4
你没发出关键的代码,找一代码里那个部分调用了 setCookie
#5
回复 楼上!
代码 非常多! 10多个js文件! 文件发的时候就检测过了! 就2个文件有 setCookie
上面是完整代码!
下面是 列表调用代码
代码 非常多! 10多个js文件! 文件发的时候就检测过了! 就2个文件有 setCookie
(function () {
// remove layerX and layerY
var all = $.event.props,
len = all.length,
res = [];
while (len--) {
var el = all[len];
if (el != 'layerX' && el != 'layerY') res.push(el);
}
$.event.props = res;
} ());
//#region replaceSymbol
/*转换"=>" '=>';
*/
String.prototype.replaceSymbol = function () {
return this.replace('"', '"').replace('\'', ''');
}
//#endregion
//#region len
/*计算中英文混合的字符串长度
*/
String.prototype.len = function () {
return this.replace(/[^\x00-\xff]/g, "rr").length;
}
//#endregion
//#region sub
/*分割中英文混合的字符串
*/
String.prototype.sub = function (n) {
var r = /[^\x00-\xff]/g;
if (this.replace(r, "mm").length <= n) return this;
// n = n - 3;
var m = Math.floor(n / 2);
for (var i = m; i < this.length; i++) {
if (this.substr(0, i).replace(r, "mm").length >= n) {
return this.substr(0, i);
}
} return this;
}
//#endregion
//#region index
/*
查找某个元素所在的键值
*/
Array.prototype.index = function (val) {
for (var i = 0, l = this.length; i < l; i++) {
if (this[i].mp3 == val) return i;
}
return null;
}
//#endregion
//#region include
/*
查找数组中是否包含某个元素
*/
Array.prototype.include = function (val) {
return this.index(val) !== null;
}
//#endregion
//#region getCookie
/*获取cookie
*/
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return JSON.parse(unescape(arr[2])); return null;
}
function getcookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null;
}
//#endregion
//#region setCookie
/*设置cookie
*/
function setCookie(name, value) {
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
//alert(getCookie(name) + "||" + name);
}
//#endregion
//#region deleteCookie
/*删除cookie
*/
function deleteCookie(name, path, domain) {
if (getcookie(name)) {
document.cookie = name + '=' +
((path) ? ';path=' + path : '') +
((domain) ? ';domain=' + domain : '') +
';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
}
//#endregion
//#region trim
/*去掉两边的空格
*/
function trim(str) {
return str.replace(/(^\s*)(\s*$)/g, '');
}
//#endregion
//#region getoutside
/*获取网站标识
*/
function getoutside() {
var url = window.location.pathname;
var i = url.lastIndexOf("/");
url = url.substring(1, i);
if (url == "91test") url = "91";
if (url == "wandoujiatest") url = "wandoujia";
return url;
}
//#endregion
function getoutsidenoparent() {
var url = window.location.pathname;
var i = url.lastIndexOf("/");
url = url.substring(1, i);
if (url == "91test") url = "91";
if (url == "wandoujiatest") url = "wandoujia";
return url;
}
//#endregion
//#region loadjs
function loadjs(name) {
// 创建script标签,设置其属性
var script = document.createElement('script');
script.setAttribute('src', name);
// 把script标签加入head,此时调用开始
document.getElementsByTagName('head')[0].appendChild(script);
}
//#endregion
//#region bindTooltip
/*绑定文字提示
*/
function bindTooltip() {
$('.item_list ul li.shopinfo a[href][title]').qtip({
content: {
text: false // Use each elements title attribute
},
position: {
corner: {
tooltip: 'bottomMiddle', // Use the corner...
target: 'topMiddle' // ...and opposite corner
}
},
style: {
border: {
width: 5,
radius: 10
},
padding: 10,
textAlign: 'left',
tip: true, // Give it a speech bubble tip with automatic corner detection
name: 'green' // Style it according to the preset 'cream' style
}
});
}
//#endregion
//#region bindTooltipNew
/*绑定文字提示
*/
function bindTooltipNew() {
$('.list_item h4 a[href][title]').qtip({
content: {
text: false // Use each elements title attribute
},
position: {
corner: {
tooltip: 'bottomMiddle', // Use the corner...
target: 'topMiddle' // ...and opposite corner
}
},
style: {
border: {
width: 5,
radius: 10
},
padding: 10,
textAlign: 'left',
tip: true, // Give it a speech bubble tip with automatic corner detection
name: 'green' // Style it according to the preset 'cream' style
}
});
}
//#endregion
//#region 获取url参数
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]); return null; //返回参数值
}
//#endregion
function getQueryStringRegExp(name) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
// if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return "";
if (reg.test(location.href)) return RegExp.$2.replace(/\+/g, " "); return "";
}
function setLinkCookier() {
l = 99;
jQuery.getJSON('../h/ajaxhandler.ashx', { "l": l }, function (obj) {
});
}
$(function ($) {
$("#txtKey").keypress(function (e) {
if (e.which == 13) {// 判断所按是否回车键
search();
}
});
var jsname = "../js/" + getoutside() + ".js";
//loadjs(jsname);
});
上面是完整代码!
下面是 列表调用代码
function initPlayList() {
var a = 1;
_$.ajax({
async: false,
type: "post",
url: "initPlayList.php?ids=" + _ids,
data: "cmd=" + a + "&rand=" + Math.random(),
dataType: "json",
success: function(o) {
if (o.status == 1) {
_list = [];
for (var i = 0; i < o.datas.length; i++) {
addToPlaylist(o.datas[i].songurl, o.datas[i].songname, o.datas[i].songid, o.datas[i].song, o.datas[i].hit, o.datas[i].songtype, o.datas[i].userid, sing.listIndex.PlayList)
}
saveData(sing.cookieList.PlayList, escape(JSON.stringify(_list)))
}
}
})
}
#6
不是说两个文件吗?还有一个文件在那?也有可能没有调用setCookie,你给的代码只是实现没有调用。
再试试查找addToPlaylist,saveData,估计在saveData里。
再试试查找addToPlaylist,saveData,估计在saveData里。
#7
1楼 第一个代码 是完整的! 还有5 楼 下面
第一个 文件 名 m.js 二 common.js 三 mp3.js 四playe.js
蛋挞 代码太多! 发不上!
http://my.csdn.net/my/code/detail/43872
只能发这了!
第一个 文件 名 m.js 二 common.js 三 mp3.js 四playe.js
蛋挞 代码太多! 发不上!
http://my.csdn.net/my/code/detail/43872
只能发这了!
#8
http://blog.csdn.net/caisheng11/article/details/8741248
上面地址错了! 代码都是完整的!
上面地址错了! 代码都是完整的!