mirror of
https://github.com/ronggang/transmission-web-control.git
synced 2025-04-22 17:23:15 +00:00

# 新增参数配置文件 config.js ,用于自定义启动参数,当前可用参数:是否自动刷新、刷新频率、默认选中的节点等 # 新增针对种子服务器(Tracker)的更新/增加/删除功能 # 新增种子服务器(Tracker) 批量替换功能 # 新增在本地保存一些参数的功能(cookies),方便用户下次在本地打开时,回到上次关闭前的状态 # 新增原版切换链接(保留原版时,需将原版的 index.html 先重命名为 index.original.html,然后再解压所有文件到web目录) # 新增种子描述中超链接替换功能 # 新增种子列表中显示“添加时间” # 新增适应移动设备的模板,当前基本功能: 1、种子分类 2、开始、暂停、重新校验已选择的种子 3、种子列表分页显示 更新: # 更新语言文件中的 tree.server 为 tree.servers # 更新自动刷新时,如果有错误的种子,则根据种子的“下次更新时间”来判断本次是否需要重新获取数据,以减少数据量 # 更新种子列表排序方式,以支持所有页的数据排序 修复: # 拖放文件时,几个变量未定义的BUG # 删除种子时,列表显示错误的BUG
115 lines
2.8 KiB
JavaScript
115 lines
2.8 KiB
JavaScript
var cookies = {
|
||
/* ***********************************************
|
||
'** 函数名称: 取得Cookies的值
|
||
'** 函数功能: 显示分页信息
|
||
'** 参数说明:
|
||
'** strName 要取值的Cookies名称
|
||
'** strSubName 子项名称(如果有的话)
|
||
'** 函数返回:
|
||
'** null 表示没有取得值
|
||
'** cookies值 正确返回(有值)
|
||
'** 参考实例:
|
||
'** var strCookie = getCookie("myCookies","mySubCookies");
|
||
*************************************************/
|
||
get:function(strName,strSubName)
|
||
{
|
||
var strCookies = document.cookie.split("; ");
|
||
var intCookiesLength = strCookies.length;
|
||
var intLength;
|
||
var strItem,strHead,strCookie;
|
||
|
||
for (var i=0; i < intCookiesLength; i++)
|
||
{
|
||
// 当有子项目时会有&符号
|
||
if (strCookies[i].indexOf("&") > 0)
|
||
{
|
||
// 取得头
|
||
strHead = strCookies[i].split("=");
|
||
// 判断是否和要查找的参数相同
|
||
if (strName == strHead[0])
|
||
{
|
||
// 去掉头信息
|
||
strCookies[i] = strCookies[i].substr(strName.length+1);
|
||
// 以&分割字符,以取得所有子项
|
||
strCookie = strCookies[i].split("&");
|
||
intLength = strCookie.length;
|
||
var result = {};
|
||
for (var j=0;j<intLength ;j++ )
|
||
{
|
||
strItem = strCookie[j].split("=");
|
||
|
||
var value = unescape(strItem[1]);
|
||
switch (value)
|
||
{
|
||
case "true":
|
||
result[strItem[0]] = true;
|
||
break;
|
||
case "false":
|
||
result[strItem[0]] = false;
|
||
break;
|
||
default:
|
||
result[strItem[0]] = value;
|
||
break;
|
||
}
|
||
|
||
|
||
if (strSubName == strItem[0])
|
||
{
|
||
return value;
|
||
}
|
||
}
|
||
// 如果没有指定子项名称时,则返回一个对象,包含所有子项;
|
||
return result;
|
||
}
|
||
}
|
||
// 没有子项时直接判断取值
|
||
else
|
||
{
|
||
strItem = strCookies[i].split("=");
|
||
if (strName == strItem[0])
|
||
{
|
||
return unescape(strItem[1]);
|
||
}
|
||
}
|
||
}
|
||
return null;
|
||
}
|
||
// 设置 cookie 内容
|
||
// value 可为对象,格式如:key:value
|
||
,set:function(name,value,expireDays)
|
||
{
|
||
var exdate=new Date();
|
||
if (expireDays==undefined)
|
||
{
|
||
expireDays = 0;
|
||
}
|
||
exdate.setDate(exdate.getDate()+expireDays);
|
||
var cookieValue = value;
|
||
switch (typeof(value))
|
||
{
|
||
// 如果为对象时,按格式拆分后保存
|
||
case "object":
|
||
case "function":
|
||
var arr = new Array();
|
||
for (var key in value)
|
||
{
|
||
arr.push(key+"="+escape(value[key]));
|
||
}
|
||
cookieValue = arr.join("&");
|
||
break;
|
||
|
||
default:
|
||
cookieValue = escape(value);
|
||
break;
|
||
}
|
||
document.cookie=name+"=" +cookieValue+((expireDays==0)? "" :"; expires="+exdate.toGMTString());
|
||
}
|
||
,remove:function(name)
|
||
{
|
||
this.set(name,"",-1);
|
||
}
|
||
,all:function()
|
||
{
|
||
return document.cookie;
|
||
}
|
||
}; |