第36篇问题图片导入总结及导入问题图片后重连房间(一)
来源:互联网 发布:暗黑战神 源码泄露 编辑:程序博客网 时间:2024/05/01 09:40
关键词: IOS-WebRTC BUG处理,问题图片导入,导入后重连房间
一IOS-WebRTC BUG处理
1 把图片导进去
图片加载进来了,我把”#”替换成”&”,就ok了,代码如下:
(function() {
var params = {},
r = /([^&=]+)=?([^&]*)/g;
//自己
varmatch, search1 = window.location.href;
search2= search1.replace(/#/g, "&");
varquestionMarkPosition=search2.indexOf("?");
search =search2.substring(questionMarkPosition);
while (match =r.exec(search.substring(1)))
params[d(match[1])] =d(match[2]);
window.params = params;
function d(s) {
returndecodeURIComponent(s.replace(/\+/g, ' '));
}
})();
注:上述程序中标红的那几行,做了两件事,第一:把url中的#替换成了&;第二:把url中?之前的网址切掉了。这样一来,和没换身份前,一模一样,方便了后面的操作。
2 导入图片之后学生连接老师
现在连不上了,原因很明显,一定是网址中加了一串,之前的程序无法获取房间号了。原来的url如下:
https://localhost:9005/demos/index.html?t=300#1912
现在的url如下:
https://localhost:9005/demos/index.html?t=300#roomid=1912#imgUrl=http://st.dz101.com:8003/uploadfiles/2016/11/1478143874gHeUlH.jpeg
解决很简单,只需要修改下程序,让其在下面的url中,能获取房间号就ok了。相关程序如下:
var hashString = location.hash.replace('#','');
if (hashString.length) {
(function reCheckRoomPresence() {
connection.checkPresence(hashString,function(isRoomExists) {
if (isRoomExists &¶ms.t) {
connection.join(hashString);
var t = Math.abs(params.t);
if (t <= 1000) {
setTimeout("noticeBalanceLow()", 60000 * (t - 3));
setTimeout("closeConnection()", 60000 * t);
}
return;
}
//MyAlert("等待老师连接……","false","","","300","200",3);
setTimeout(reCheckRoomPresence,1000);
});
})();
}
之前,hashString = location.hash.replace('#', '')只输出一个房间号(1912),现在输出的是:roomid=1912#imgUrl=http://st.dz101.com:8003/uploadfiles/2016/11/1478143874gHeUlH.jpeg
修改后的程序如下:
var hashString1 =location.hash.replace('#', '');
//处理url,得到房间号
varhashPosition=hashString1.indexOf("#");
hashString =hashString1.substring(7,hashPosition);
if (hashString.length) {
(function reCheckRoomPresence() {
connection.checkPresence(hashString, function(isRoomExists) {
if (isRoomExists && params.t) {
connection.join(hashString);
var t = Math.abs(params.t);
if (t <= 1000) {
setTimeout("noticeBalanceLow()", 60000 * (t - 3));
setTimeout("closeConnection()", 60000 * t);
}
return;
}
//MyAlert("等待老师连接……","false","","","300","200",3);
setTimeout(reCheckRoomPresence, 1000);
});
})();
}
注:在程序中增加了两行,先获取剩余url的#位置,之后,再进行截取,进而得到房间号。
经过这个处理之后,还是连不上,一定是还有哪个地方需要改。看一下打开房间那块,代码如下:
connection.onopen = function() {
document.getElementById('input-text-chat').disabled = false;
document.getElementById('start_anwser').style.display = "";
document.getElementById('give_up').style.display = "";
MyAlert("<p class='ready'>学生已连接</p>",1000, "", "", "auto", "auto", 1);
if (designer.pointsLength <= 0) {
// make sure that remote user gets all drawings synced.
setTimeout(function() {
connection.send('plz-sync-points');
}, 1000);
}
// mfu end
};
注:这一块没什么问题,根本就没有用到房间号。
明天再找原因吧,应该是hash那一块。
2016年12月19日星期一
- 第36篇问题图片导入总结及导入问题图片后重连房间(一)
- 第37篇 导入问题图片后重连房间(二)及php上传文件
- 导入图片的问题
- 第35篇 IOS-WebRTC BUG处理(三)之问题图片导入及本地运行两个nodejs
- java poi导入图片问题
- 【Unity&图片】图片自动批导入问题
- android工程中导入图片的问题
- Android stduio 导入.9图片的问题
- matlab标定工具箱图片导入问题(已解决)
- 导入图片
- 图片导入
- Debug一例,Wordpress 插件 Blogger Importer Extended 导入 blogger 图片问题
- 自学问题总结1:关于JSP导入图片扩展名大小写具有敏感性
- 项目导入后flex development css 找不到图片的问题
- 关于Android Studio导入.9图片报错问题
- 关于导入图片和源代码遇到的相关问题
- Android stdio导入项目后报图片问题(app:mergeDebugResources)
- Unity3D 导入透明图片有白边问题的处理
- Web新技术:PWA - Progressive Web App
- FusionCharts属性大全
- javadoc相关
- 关于一些fuck
- 网络字节顺序 大小端讨论
- 第36篇问题图片导入总结及导入问题图片后重连房间(一)
- html
- Python 学习笔记random包
- spring事务传播属性与隔离级别
- [BZOJ2565]最长双回文串(manacher)
- 数据结构--快速排序
- html
- Kafka:2)Kafka整合logstash实战
- FusionCharts 中文提示信息