http://www.kxt.com/ 像这个一样 现在要防一个这样的功能,用到 socket.io 求大神出招var iosocket = io.connect("http://115.28.243.183:4003", {
multiplex: false
});
iosocket.on('connect', function() {});
iosocket.on('clMsg', function(data) {
// console.log(data) //加了IE出错
//判断进行提醒
noticUser();
socketCreateHtml(data);
})
function socketCreateHtml(data) {
this.data = JSON.parse(data);
var addHtml = function(html, type) {
$(".mainnews ul").prepend(html);
setTimeout(function() {
$(".mainnews ul li").removeClass("blingColor");
}, 5000);
}
var newsHtml = function() {
if (!this.data.title) {
return false;
}
$(".mainnews ul li").removeClass("blingColor");
var h = '<li id="%s" class="blingColor %s"><span>%s</span><p>%s</p></li>';
if (this.data.isstress == "True") {
style = "r_";
} else {
style = "";
}
t = getTrueTime(this.data.time);
h = sprintf(h, this.data.id, style, t, this.data.title);
addHtml(h, "isnews");
}
var hqHtml = function() { var h = '<li alt="zy" class="hq %s"><span>%s</span><img src="/Public/Home/c_guo/%s.png" alt="%s" class="c_guo"><p class="finance">%s<br><span>前值:%s</span><span>预期:%s</span></p><p class="star_back_mid s_%s"> <i>%s</i>实际值:%s</p><p class="duokongBox">%s</p></li>';
//一些默认值的设置
var style = ""; //对title进行解析
var row = this.data.title.split("#"); //数据重要性
var level = row[5];
var levelEn = Lang.change('NATURE', level);
if (levelEn == 'zy') {
style = 'r_';
}
//时间
var truetime = getTrueTime(row[7]); //国家
var country = row[8];
var countryEn = Lang.change('COUNTRY', country); var title = row[1]; //前值
var before = row[2]; //预测
var forecast = row[3]; var start = getRealityStyle(levelEn); effectdata = getEffectData(row[6]); cookieType = $.cookie("type");
if (!cookieType) {
cookieType = [];
} var box = "";
if (effectdata) {
for (var key in effectdata) {
box += "<span class='" + getEffectStyle(key, levelEn) + "'>" + key + ": ";
for (var k in effectdata[key]) {
box += "<em ";
if (cookieType.length && cookieType.indexOf(k) < 0) {
box += " style='display:none' ";
} box += " alt='" + k + "' >" + effectdata[key][k] + "</em> ";
};
box += "</span>";
};
} else {
box = '<span class="xiao">影响较小</span>';
} h = sprintf(h, style, truetime, countryEn, country, country + title, before, forecast, start, level, row[4], box);
addHtml(h);
toggleData();
}
if (this.data.type == 1) {
if ($("#" + this.data.id).length > 0) {
if (this.data.title) {
//修改
var h = '<span>%s</span><p>%s</p>'; t = getTrueTime(this.data.time);
h = sprintf(h, t, this.data.title); $("#" + this.data.id).html(h);
if (this.data.isstress == "True") {
$("#" + this.data.id).addClass("r_");
}
} else {
//删除
$("#" + this.data.id).remove();
}
} else {
newsHtml();
}
} else if (this.data.type == 2) { hqHtml();
}}
multiplex: false
});
iosocket.on('connect', function() {});
iosocket.on('clMsg', function(data) {
// console.log(data) //加了IE出错
//判断进行提醒
noticUser();
socketCreateHtml(data);
})
function socketCreateHtml(data) {
this.data = JSON.parse(data);
var addHtml = function(html, type) {
$(".mainnews ul").prepend(html);
setTimeout(function() {
$(".mainnews ul li").removeClass("blingColor");
}, 5000);
}
var newsHtml = function() {
if (!this.data.title) {
return false;
}
$(".mainnews ul li").removeClass("blingColor");
var h = '<li id="%s" class="blingColor %s"><span>%s</span><p>%s</p></li>';
if (this.data.isstress == "True") {
style = "r_";
} else {
style = "";
}
t = getTrueTime(this.data.time);
h = sprintf(h, this.data.id, style, t, this.data.title);
addHtml(h, "isnews");
}
var hqHtml = function() { var h = '<li alt="zy" class="hq %s"><span>%s</span><img src="/Public/Home/c_guo/%s.png" alt="%s" class="c_guo"><p class="finance">%s<br><span>前值:%s</span><span>预期:%s</span></p><p class="star_back_mid s_%s"> <i>%s</i>实际值:%s</p><p class="duokongBox">%s</p></li>';
//一些默认值的设置
var style = ""; //对title进行解析
var row = this.data.title.split("#"); //数据重要性
var level = row[5];
var levelEn = Lang.change('NATURE', level);
if (levelEn == 'zy') {
style = 'r_';
}
//时间
var truetime = getTrueTime(row[7]); //国家
var country = row[8];
var countryEn = Lang.change('COUNTRY', country); var title = row[1]; //前值
var before = row[2]; //预测
var forecast = row[3]; var start = getRealityStyle(levelEn); effectdata = getEffectData(row[6]); cookieType = $.cookie("type");
if (!cookieType) {
cookieType = [];
} var box = "";
if (effectdata) {
for (var key in effectdata) {
box += "<span class='" + getEffectStyle(key, levelEn) + "'>" + key + ": ";
for (var k in effectdata[key]) {
box += "<em ";
if (cookieType.length && cookieType.indexOf(k) < 0) {
box += " style='display:none' ";
} box += " alt='" + k + "' >" + effectdata[key][k] + "</em> ";
};
box += "</span>";
};
} else {
box = '<span class="xiao">影响较小</span>';
} h = sprintf(h, style, truetime, countryEn, country, country + title, before, forecast, start, level, row[4], box);
addHtml(h);
toggleData();
}
if (this.data.type == 1) {
if ($("#" + this.data.id).length > 0) {
if (this.data.title) {
//修改
var h = '<span>%s</span><p>%s</p>'; t = getTrueTime(this.data.time);
h = sprintf(h, t, this.data.title); $("#" + this.data.id).html(h);
if (this.data.isstress == "True") {
$("#" + this.data.id).addClass("r_");
}
} else {
//删除
$("#" + this.data.id).remove();
}
} else {
newsHtml();
}
} else if (this.data.type == 2) { hqHtml();
}}
解决方案 »
- woredpress youtube插件
- 关于array_count_values()函数,看这个想法值多少钱?
- 求greenamp 绑定域名问题,
- 请问在linux下mysql不支持视图吗?
- 一个PHP文件,FTP传输的,将A网站指定目录传到B网站指定目录》》》》》》》《《《《《《
- 想做一个很简单的新闻站,
- 在伪静态规则下,怎么修改网站默认首页
- open flash chart2 Ajax 实现动态图表
- 一个网站做成了静态,每一次网站生成了静态 但是在浏览器上访问还是以前的内网容
- CI框架数据库查询时怎么不识别别名呢?【在线等】
- php 阿里云OSS 图片上传 下载 与管理
- 请求discuz问题,如何获取验证码
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
function getToken(){
token = "abcde";
$.ajax({
type:'post',
url:'http://www.kxt.com/Quotes/achieveKey',
dataType:'json',
async:false,
success:function(b){
if(b.status){
alert("zzz");
token=$.cookie('qVHu$u9gFfh2OsWxLoh5GZ1t');
}
},
error:function(){
alert("mmm");
}
})
}$(document).ready(function(){
$("#b01").click(function(){
alert("xxx");
getToken();
alert("yyy");
$("#myDiv").html(token);
});
});
</script>
</head>
<body><div id="myDiv"><h2>通过 AJAX 改变文本</h2></div>
<button id="b01" type="button">改变内容</button></body>
</html>
发现输出的是mmm,而不是zzz,也就是说,getToken函数没有成功,这个是为什么呢? 我初始理解这个函数顾名思义是为了获取cookie什么的,可是,看上去不是啊,,,好像还有什么限制条件的
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
var quoteStr = "DINIW_AUDUSD_EURUSD_GBPUSD_USDJPY_USDCNY_USDCAD_USDCHF_USDHKD_USDSGD_USDSEK_EURGBP_EURCHF_EURJPY_EURNZD_EURAUD_EURCAD_GBPCHF_GBPAUD_GBPNZD_GBPCAD_GBPJPY_CADCHF_CADJPY_CHFJPY_AUDCAD_AUDNZD_AUDJPY_AUDCHF_NZDUSD_NZDCAD_NZDJPY_NZDCHF_USDNOK_USDDKK_USDZAR_USDTRY_USDMXN";
var dataHqString="ws://120.26.101.164:27468"; var dataHqStringTest="ws://120.26.101.164:36584"; var settime = (Math.floor(Math.random()*8)+3)*1000;
var Heartbeat_id = "";
var flagCount = 0;
var token = "";
var quotesArray=quoteStr.split("_");
function initSocket(){alert("initsocket"); socket = new WebSocket(dataHqStringTest+'?token=fbiyZLKHhJqAi3Zlg5nWnJN9s5XFq3CsxtGl05SQZZ9_zaugx3uJ3IGjqKiNqZxmlmjE2sOYn2av0YfblYx6qXnSq53FinCVjI1qmo-ttax7n9DOr7mera_OfpaBfGWufrimprCHkNx7oKibma3Pp4yIqpuvuYhpsriGmoGNdmh-l5Fu');
alert("aftersocket"); socket.onopen = function (e) {
alert("onopen");
login(); Heartbeat_id = setInterval(function(){
socket.send('');
},60*1000*3);
socket.onmessage = function (res) {
try {
var data = JSON.parse(res.data);
} catch (error) {
return false;
}
if (data.c) {
isSelect(data);
} else {
for (var i = 0; i < data.length; i++) {
isSelect(data[i]);
}
} }; socket.onclose = function (e) {
alert("onclose");
setTimeout(function(){
initSocket();
},settime);
}; function login(){
var msg ={
cmd: "login",
codes:quotesArray
};
msg = JSON.stringify(msg);
try{
socket.send(msg);
}catch(e){ }
}
};
socket.onerror = function (e) {
alert("onerror " + e.data);
};
}
$(document).ready(function(){
$("#b01").click(function(){
alert("xxx");
initSocket();
alert("yyy");
$("#myDiv").html("abcde");
});
});
</script>
</head>
<body><div id="myDiv"><h2>通过 AJAX 改变文本</h2></div>
<button id="b01" type="button">改变内容</button></body>
</html>