注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:按 Ctrl-F5。
function sWebPageResultSync(obj){
sessionStorage.setItem("timu-webPageResultSync", JSON.stringify(obj));
}
function gWebPageResultSync(){
return JSON.parse(sessionStorage.getItem("timu-webPageResultSync"));
}
function gWebPageTimuSettings(){
return JSON.parse(sessionStorage.getItem("timu-webPageTimuSettings"));
}
function sWebPageTimuSettings(obj){
sessionStorage.setItem("timu-webPageTimuSettings", JSON.stringify(obj));
}
// 解压
function unzip(b64Data) {
console.log(b64Data)
var strData = atob(b64Data);
console.log(strData)
var charData = strData.split('').map(function (x) {
return x.charCodeAt(0);
});
var binData = new Uint8Array(charData);
var data = pako.inflate(binData);
strData = String.fromCharCode.apply(null, new Uint16Array(data));
return decodeURIComponent(strData);
}
// 压缩
function zip(str) {
var binaryString = pako.gzip(encodeURIComponent(str), {to: 'string'})
return btoa(binaryString);
}
//==========================
//==========DOM操作=========
//==========================
// // 填入radio
// // value 是 string
function fillRadio(id, value){
console.log('#'+prefixDic.radioId+id+'-'+value)
var target = $('#'+prefixDic.radioId+id+'-'+value)
target.attr('checked','checked')
}
// // 填入checkbox
// value 是 array
function fillCheckbox(id,value){
for(var i=0;i<value.length;i++){
$('#'+prefixDic.checkBoxId+id+'-'+value[i]).attr('checked','checked')
}
}
// // 填入Select
// value 是 array
function fillSelect(id,value){
for(var i=0;i<value.length;i++){
$('#'+prefixDic.selectId + id+'-'+i).val(value[i])
}
}
// // 填入text
function fillText(id, value){
for(var i=0;i<value.length;i++){
$('#'+prefixDic.textInputId+id+'-'+i).children('input').val(value[i])
}
}
// // 将题目放在模板加载位置
function addAfterIDData(id,content) {
var data = $('.data')
content.insertAfter(data[id])
}
// // 渲染题目
function render(id,type,obj,parent,isAfter){
parent =parent !==undefined ?parent : '#subjectContainer-'+type
if(typeof(parent)!=='object'){
parent = $(parent)
}
if(isObjExist(parent)){
if(isAfter){
parent.after(obj)
}else {
obj.appendTo(parent)
}
}else {
addAfterIDData(id,obj)
}
}
//基础函数
//判断函数
function isObjExist(t){
return $(t).length>0
}
function isInArray (arr, value) {
for (var i = 0; i < arr.length; i++) {
if (value === arr[i]) {
return true
}
}
return false
}
//数据查询函数
function dicLen(dic){
var count=0;
for(var key in dic){
// console.log(key+'='+dic[key]);
count++;
}
return count
}
//html操作函数
function entityToString(entity){
var div=$('<div></div>');
div.html(entity)
var res=div.html();
// console.log(entity,'->',res);
return res;
}
//获取map中键的列表
function mapKeysList(map){
return Array.from(map.keys())
}
//获取字符串真实长度
function getStrLength(str) {
//1、定义计数器
var len=0,code=0;
//2、遍历该字符串
for(var i=0;i<str.length;i++)
{
code=str.charCodeAt(i)
if (code>=0&&code<=127) {
len+=1;
}else{
len+=2;
}
}
return len
}
//数据清理
//去除字典中的空值
function filterEmptyEntries(dic){
return Object.fromEntries(
Object.entries(dic).filter(function(key, value){return value !== null && value !== undefined && value.length !== 0})
)
}
//排序字典并返回一个map对象
function sortDicByKey(dic){
var sort = Object.keys(dic).sort()
var map = new Map()
for(var i=0;i<sort.length;i++){
map.set(sort[i],dic[sort[i]])
}
return map
}
function locateTo(id){
setTimeout(function(){
$("html,body").animate({scrollTop:$("#"+id).position().top},500)
},250)
}