📄 app.js
字号:
App.moduleList.push(mod);
App.Nav.removeModuleBox();
App.saveUserData('new', mod);
}
pickupZone.appendChild(div);
var dataObj = App.Modules[this.parentNode.getAttribute("mod")+"Infos"].defaultObj;
dataObj.container = div.lastChild;
dataObj.admin = true;
var mod = new Module(dataObj);
}
}
}
items[z].firstChild.onmouseover = function() {
this.lastChild.style.color = "#F60";
this.lastChild.style.borderBottom = "1px solid #F60";
if (!App.Nav.isModuleBox && this.parentNode.getAttribute("mod")) {
var div = document.getElementById("navInfosBox");
div.style.display = "block";
div.style.left = (App.Nav.width+5)+"px";
div.style.top = (findPosY(this)-8)+"px";
var frame = document.createElement("div");
frame.className = "frame";
var frame2 = document.createElement("div");
frame2.className = "frame2";
frame2.style.backgroundColor = "#F1FDF3";
frame2.innerHTML = App.Modules[this.parentNode.getAttribute("mod")+"Infos"].infos;
frame.appendChild(frame2);
div.appendChild(frame);
}
}
items[z].firstChild.onmouseout = function() {
this.lastChild.style.color = "#333";
this.lastChild.style.borderBottom = "1px solid #DDD";
App.Nav.removeInfosBox();
}
}
selectionFrame.appendChild(frame2);
var div = document.getElementById("nav");
var tree = document.getElementById("selectionTree");
tree.style.width = App.Nav.width+"px";
moduleSelection.appendChild(selectionFrame);
div.appendChild(moduleSelection);
if (User.feedsId != null) {
document.getElementById("myFeeds").firstChild.onclick();
} else {
document.getElementById("featuredFeeds").firstChild.onclick();
}
function getFaviconUrl(url) {
var lastIndex = url.lastIndexOf("/");
if (lastIndex!=(url.length-1) && lastIndex!=6) {
return url.substring(0, lastIndex);
} else {
return url;
}
}
function displaySubCat(response, node) {
var items = response.responseXML.getElementsByTagName("feed");
var ln = items.length;
var divUL = document.createElement("div");
divUL.className = "ulLike";
for (var z=0; z<ln; z++) {
var lnk = items[z].getAttribute("sub");
var divLI = document.createElement("div");
divLI.className = "liLike";
var div2 = document.createElement("div");
div2.className = "itemLine";
div2.setAttribute("xmlUrl", items[z].getAttribute("xmlUrl"));
if (lnk==0) {
div2.setAttribute("feedId", items[z].getAttribute("feedId"));
}
div2.setAttribute("id", items[z].getAttribute("id"));
div2.setAttribute("sub", lnk);
if (lnk==1) {
divLI.setAttribute("sub", lnk);
div2.innerHTML = '<div class="showSub"></div><div class="text">'+items[z].getAttribute("title")+'</div>';
} else {
var favicon = getFaviconUrl(items[z].getAttribute("htmlUrl"));
div2.innerHTML = '<div class="folderIcon"><img src="'+favicon+'/favicon.ico" height="0" width="0" /></div><div class="text">'+items[z].getAttribute("title")+'</div>';
div2.firstChild.firstChild.onload = function() {
this.style.width = "16px";
this.style.height = "16px";
this.parentNode.style.backgroundImage = "none";
}
}
divLI.appendChild(div2);
div2.style.cursor = "pointer";
div2.lastChild.style.borderBottom = "1px solid #DDD";
div2.onmouseover = function() {
this.lastChild.style.color = "#F60";
this.lastChild.style.borderBottom = "1px solid #F60";
}
div2.onmouseout = function() {
this.lastChild.style.color = "#333";
this.lastChild.style.borderBottom = "1px solid #DDD";
}
div2.onclick = function() {
if (this.getAttribute("sub")==1) {
if (this.nextSibling) {
if (this.nextSibling.style.display=="none") {
this.nextSibling.style.display = "block";
this.firstChild.className = "hideSub";
App.FeedReader.resize();
} else {
this.nextSibling.style.display = "none";
this.firstChild.className = "showSub";
App.FeedReader.resize();
}
} else {
var span = document.createElement("span");
span.className = "navLoading";
span.innerHTML = App.Loc.loading;
this.parentNode.appendChild(span);
Request.sendGET("getUserFeed.php?id="+this.getAttribute("id"), displaySubCat, this);
}
} else {
App.Nav.drawModuleBox(this);
var pickupZone = document.getElementById("pickupZone");
pickupZone.style.paddingTop = "2px";
var div = document.createElement("div");
div.style.paddingBottom = "4px";
div.innerHTML = '<div style="float:right; cursor:pointer"><img src="img/closeMod.gif"/></div>'+
'<div class="addToPage"><span class="addToPageLinkOut">'+App.Loc.add2MyPage+'</span></div>'+
'<div style="clear:both"></div><div></div>';
div.firstChild.onclick = function() {
App.Nav.removeModuleBox();
}
var linkNode = div.firstChild.nextSibling.firstChild;
if (App.mode=='userPage') {
linkNode.onmouseover = function() {
this.className = "addToPageLinkOver";
}
linkNode.onmouseout = function() {
this.className = "addToPageLinkOut";
}
linkNode.onclick = function() {
delete div.lastChild.firstChild.dataObj.currentServerRequest;
var defaultDataObj = div.lastChild.firstChild.dataObj;
var dataObj = new Object();
for (var i in defaultDataObj) dataObj[i] = defaultDataObj[i];
dataObj.data = new Object();
//for (var i in defaultDataObj.data) dataObj.data[i] = defaultDataObj.data[i];
dataObj.title = div.lastChild.firstChild.dataObj.title;
dataObj.data.feedId = div.lastChild.firstChild.dataObj.data.feedId;
dataObj.feedUrl = div.lastChild.firstChild.dataObj.feedUrl;
dataObj.container = 2;
dataObj.admin = false;
dataObj.isNew = true;
var mod = new Module(dataObj);
App.moduleList.push(mod);
App.Nav.removeModuleBox();
App.saveUserData('new', mod);
}
} else {
linkNode.removeNode(true);
}
pickupZone.appendChild(div);
var dataObj = App.Modules.RssReaderInfos.defaultObj;
dataObj.container = div.lastChild;
dataObj.title = this.lastChild.firstChild.nodeValue;
dataObj.feedUrl = this.getAttribute("xmlUrl");
dataObj.data.feedId = this.getAttribute("feedId");
dataObj.data.nbTitles = null;
dataObj.admin = true;
var mod = new Module(dataObj);
}
}
divUL.appendChild(divLI);
}
node.parentNode.lastChild.removeNode(true);
node.parentNode.appendChild(divUL);
node.firstChild.className = "hideSub";
App.FeedReader.resize();
}
}
// ============== FEED READER ==================================================================
App.FeedReader = new Object();
App.FeedReader.headlinesTD = 250;
App.FeedReader.resize = function() {
if (document.getElementById("feedReaderContentFrame") != null) {
var w = document.body.clientWidth-10-9-20- ((App.Nav.isOpen) ? App.Nav.width-10 : 0);
App.FeedReader.elm.style.width = w+"px";
App.FeedReader.elm.style.left = findPosX(document.getElementById("columns"))+"px";
var contentSize = w-App.FeedReader.headlinesTD-28;
var contentFrame = document.getElementById("feedReaderContentFrame");
contentFrame.style.width = contentSize+"px";
var h = (Browser.isOpera) ? document.body.clientHeight : document.documentElement.clientHeight;
var cssh = (h-App.FeedReader.posY-90)+"px";
contentFrame.style.height = cssh;
document.getElementById("feedReaderHeadlinesFrame").style.height = cssh;
}
}
App.FeedReader.close = function() {
var div = App.FeedReader.elm;
div.innerHTML = "";
div.style.display = "none";
//document.documentElement.style.overflow = "";
//document.body.style.overflow = ""; // opera
}
App.FeedReader.display = function(data){ //{title, moduleLocalData, moduleData, selectedItemIndex}
var ownerURL = data.moduleLocalData.feedSite;
//scrollTo(0, 0);
//document.documentElement.style.overflow = "hidden";
//document.body.style.overflow = "hidden"; // opera
var index = ownerURL.lastIndexOf("/");
if (index!=6) ownerURL = ownerURL.substring(0, index);
var feedSiteURLDomain = ownerURL.substring(0,ownerURL.indexOf("/", 7));
if (!feedSiteURLDomain) feedSiteURLDomain = ownerURL;
var div = App.FeedReader.elm;
var readerFrame = document.createElement("div");
readerFrame.id = "feedReaderFrame";
var colFrame = document.getElementById("columns");
App.FeedReader.posY = findPosY(colFrame)+5;
div.style.top = App.FeedReader.posY+"px";
div.style.display = "block";
var frame = document.createElement("div");
frame.className = "frame";
var header = document.createElement("div");
header.className = "header";
header.innerHTML = '<img style="float:right;padding-right:2px" src="img/closeMod.gif"/><div class="readAll"><div><div>'+App.Loc.readAll+'</div></div></div><div style="text-align:center;padding-top:2px"><a style="text-transform:uppercase" href="'+ownerURL+'" target="_blank">'+data.title+'</a></div>';
var readAllDiv = header.firstChild.nextSibling.firstChild.firstChild;
readAllDiv.onmouseover = function() {
this.style.color = "#F60";
}
readAllDiv.onmouseout = function() {
this.style.color = "#3169B5";
}
readAllDiv.onclick = function() {
headlineSelectAll();
}
header.firstChild.style.cursor = "pointer";
header.firstChild.onclick = function() {
window.onresize = null;
App.FeedReader.close();
}
var contentFrame = document.createElement("div");
contentFrame.id = "feedReaderFrame2";
contentFrame.innerHTML = '<table id="readerTable" cellpadding="0" cellspacing="0" width="100%"><tr><td></td><td></td><td></td></tr></table>';
//contentFrame.innerHTML = '<div><div></div><div></div><div></div></div>';
var tr = contentFrame.firstChild.firstChild.firstChild;
//var tr = contentFrame.firstChild;
var tdHeadlines = tr.childNodes[0];
tdHeadlines.className = "tdHeadlines";
tdHeadlines.style.width = App.FeedReader.headlinesTD+"px";
var tdSeparator = tr.childNodes[1];
tdSeparator.className = "tdSeparator";
tdSeparator.onmouseover = function() {
this.style.backgroundColor = "#D4E4FF";
}
tdSeparator.onmouseout = function() {
this.style.backgroundColor = "transparent";
}
var tdContent = tr.childNodes[2];
tdContent.className = "tdContent";
tdContent.innerHTML = '<div id="feedReaderContentFrame"><div class="contentInsideFrame"></div></div>';
function applyPodcastEvents(node, file, name) {
var listenNode = node.firstChild.firstChild.firstChild.firstChild;
var downloadNode = node.lastChild.firstChild.firstChild.firstChild;
listenNode.onmouseover = downloadNode.onmouseover = function() {
this.style.color = "#F60";
}
listenNode.onmouseout = downloadNode.onmouseout = function() {
this.style.color = "#333";
}
listenNode.onclick = function() {
var podName = name;
if (!document.getElementById("podPlayer")) {
content = '<div>'+
'<object id="podPlayer" type="application/x-shockwave-flash" data="player/player.swf?pod='+encodeURIComponent(file)+'&podname='+encodeURIComponent(podName)+'" width="238" height="17">'+
'<param name="movie" value="player/player.swf?pod='+encodeURIComponent(file)+'&podname='+encodeURIComponent(podName)+'" />'+
//'<param name="bgcolor" value="#EFEFEF" />'+
'<param name="wmode" value="transparent" />'+
'</object>'+
'<img style="padding:0 0 4px 6px"src="img/closeBlue.gif"/>'+
'</div>';
var div = document.getElementById("player");
div.innerHTML = content;
div.style.display = "block";
var imgClose = div.getElementsByTagName("img")[0];
imgClose.style.cursor = "pointer";
imgClose.onclick = function() {
div.innerHTML = "";
div.style.display = "none";
}
} else {
var podPlayer = document.getElementById("podPlayer");
podPlayer.SetVariable("/fileChange:pod", encodeURIComponent(file));
podPlayer.SetVariable("/fileChange:podname", podName);
podPlayer.TPlay("/fileChange");
}
}
}
function cleanContent(node, nodeTitle, itemNode) {
function fixAttribute(item, a) {
var attr = item.getAttribute(a);
if (attr==null) return;
if (attr.indexOf("http")==-1) {
if (attr.substring(0,1)=="/") {
item.setAttribute(a, feedSiteURLDomain+attr);
} else {
if (ownerURL.substring(0,1)=="/") {
item.setAttribute(a, ownerURL+attr);
} else {
item.setAttribute(a, ownerURL+"/"+attr);
}
}
} else {
if (attr.indexOf(App.location)!=-1) {
if (feedSiteURLDomain != App.location) {
var locationHref = window.location.href.substring(0,window.location.href.lastIndexOf("/")+1);
if (attr.indexOf(locationHref)!=-1 && attr!=(App.location+"/")) {
var newAttr = feedSiteURLDomain + "/" + attr.substring(locationHref.length, attr.length);
item.setAttribute(a, newAttr);
} else if (attr.indexOf(App.location)!=-1 && attr!=(App.location+"/")) {
var newAttr = feedSiteURLDomain + attr.substring(App.location.length, attr.length);
item.setAttribute(a, newAttr);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -