웹 페이지 는 핸드폰 화면 에 적합 하고 웹 페이지 는 핸드폰 에 적응 합 니 다.
27785 단어 page
$(document).ready(function(){
sun.md.setViewPortContent({
initWidth : 640
});
});
그 후에 핸드폰 으로 볼 수 있 습 니 다. 일반적인 상황 은 아주 작은 조정 만 하면 됩 니 다. 그러나 특수 한 상황 이 적용 되 지 않 을 수도 있 습 니 다. bug 가 댓 글 을 통 해 피드백 하 는 것 을 환영 합 니 다.
만약 에 사용 하 는 상황 이 특수 하 다 면 setView Port Content 라 는 방법 을 볼 수 있 습 니 다. 주로 핸드폰 유형 에 따라 view port 의 속성 을 설정 하 는 것 입 니 다. 그 안에 정 의 된 js 상용 방법 도 많이 있 습 니 다.
이 js 파일 로 bug 등 문제 가 발생 하면 이익 손실 은 일체 책임 지지 않 습 니 다.
다음은 js 코드 도입 순서 가 있어 야 sun. js 를 먼저 도입 한 다음 sun. md. js 를 도입 합 니 다. (이 두 파일 을 jquery 에서 썼 기 때문에 jquery 가 가장 먼저 도입 해 야 합 니 다)
sun.js
var sun = sun || {};
/**
* it is for alex to shortcut method
* delete before online
*/
(function shortCut() {
tojs = function(vmodel) {
return ko.mapping.toJS(vmodel)
};
log = function (){
console.log(arguments)
};
write = function(txt){
var p = document.createElement('p');
var hr = document.createElement('hr');
p.innerHTML = txt;
document.body.appendChild(hr);
document.body.appendChild(p);
};
})()
sun.ajax = function() {
var mime = {
html: 'html',
js: 'script',
json: 'json',
xml: 'xml',
txt: 'text'
}
var _stringifyData = function(sType, oData) {
var _data = oData;
if ((sType.toUpperCase() === 'POST') && ( !! oData)) {
_data = JSON.stringify(oData);
}
return _data;
};
base = function(sUrl, sType, sDataType, oData, fnCallBack, isShlowLoading, isAsync) {
var _data = oData,
_isAsync = typeof isAsync === 'boolean' ? isAsync : true;
if (sUrl.indexOf('?') === -1){
sUrl = sUrl + '?t=' + Math.random();
}else {
sUrl = sUrl + '&t=' + Math.random();
}
$.ajax({
async: _isAsync,
type: sType,
url: sUrl,
data: _stringifyData(sType, oData),
contentType: 'application/json',
dataType: sDataType,
beforeSend: function(XMLHttpRequest) {
if (!!isShlowLoading) {
}
},
success: function(data, textStatus) {
if (!!isShlowLoading) {
}
if(!_isAsync && (typeof fnCallBack === 'function')){
fnCallBack(data, textStatus);
};
_data = data;
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
if (!!isShlowLoading) {
}
_data = errorThrown;
}
}).done(function(data, textStatus, _self) {
if (!!isShlowLoading) {
}
if (!!_isAsync && (typeof fnCallBack === 'function')) {
fnCallBack(data, textStatus);
}
});;
return _data;
};
return {
post: function(sPageUrl, oData, fnCallBack, isAsync) {
if ((typeof oData === 'function') && (!fnCallBack)) {
fnCallBack = oData;
oData = null;
}
return base(sPageUrl, 'POST', mime.json, oData, fnCallBack, false, isAsync);
},
getJSON: function(sPageUrl, oData, fnCallBack, isAsync) {
if ((typeof oData === 'function') && (!fnCallBack)) {
fnCallBack = oData;
oData = null;
}
return base(sPageUrl, 'get', mime.json, oData, fnCallBack, false, isAsync);
}
}
}();
sun.$ = function(query) {
return document.querySelectorAll(query);
};
// var __readyFuns = [];
// function DOMReady(){
// for(var i=0,l=readyFuns.length;i<l;i++){
// readyFun();
// }
// readyFuns = null;
// document.removeEventListener('DOMContentLoaded',DOMReady,false);
// };
// sun.ready = function(fn){
// if(readyFuns.length == 0){
// document.addEventListener('DOMContentLoaded',DOMReady,false);
// }
// readyFuns.push(fn);
// }
sun.context = sun.context || {};
sun.context.getQueryStringByName = function(name) {
var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
if (result == null || result.length < 1) {
return "";
}
return result[1];
};
sun.context.cookie = sun.context.cookie || {};
// article detail http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html
sun.context.cookie.setExpires = function (name,value,expiresValue){
var Days = expiresValue;
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
};
sun.context.cookie.set = function (name,value){
var Days = 30; // cookie 30
this.setExpires(name, value, Days);
};
sun.context.cookie.get = function (name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) {
return unescape(arr[2]);
}
return null;
};
sun.context.cookie.del = function (name){
var exp = new Date();
var cval= this.get(name);
exp.setTime(exp.getTime() - 1);
if(cval!=null) {
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
};
sun.context.localStorage = sun.context.localStorage || {};
sun.context.localStorage._ls = window.localStorage;
sun.context.localStorage.set = function(name, value) {
this._ls.setItem(name,value.toString())
};
sun.context.localStorage.get = function() {
return this._ls.getItem(name);
};
sun.context.localStorage.del = function(name) {
var val = this.get(name);
if (!!val) {
this.__ls.removeItem("c");
}
};
sun.context.localStorage.clearAll = function() {
window.localStorage.clear()
};
//----------------------------- undealed -----------------------------------
function addEvent (type, element, fun) {
if (element.addEventListener) {
addEvent = function (type, element, fun) {
element.addEventListener(type, fun, false);
}
}
else if(element.attachEvent){
addEvent = function (type, element, fun) {
element.attachEvent('on' + type, fun);
}
}
else{
addEvent = function (type, element, fun) {
element['on' + type] = fun;
}
}
return addEvent(type, element, fun);
}
sun.util = sun.util || {};
sun.util.array = sun.util.array || {};
/**
* @param => ([1,2,32,4])
* return [1, 2, 4, 32]
*
* @param => ([1,2,32,4], false)
* return [32, 4, 2, 1]
*
*/
sun.util.array.sort = function(arrayList, isAsc) {
if (typeof isAsc != 'boolean') {
isAsc = true;
}
function sortNumber(a, b)
{
if (!!isAsc) {
return a - b
} else {
return b - a
}
}
return arrayList.sort(sortNumber);
};
/**
* @param => ([0,1,2,3,4,5,6,7,8,9], 6)
* return [0, 1, 2, 3, 4, 5, 7, 8, 9]
*
* @param => ([0,1,2,3,4,5,6,7,8,9], [2,6,8])
* return [0, 1, 3, 4, 5, 7, 9]
*
*/
sun.util.array.remove = function(arrayList, n) {
//prototype , 。
if ( n < 0 || typeof n === 'undefined') {
return arrayList;
} else if (sun.util.isArray(n)) {
var _tmp = null;
n = this.sort(n, false);
for(index in n) {
arrayList = this.remove(arrayList, n[index]);
}
return arrayList;
} else {
return arrayList.slice(0,n).concat(arrayList.slice(n+1,arrayList.length));
}
/*
concat : , 。
arrayList.slice(0,n)/arrayList.slice(n+1,arrayList.length)
, , n 。
slice : , , 。
*/
};
/**
* format number
* e.g. 12000 => 1,2000
* @param amtStr number
* @return string
*/
sun.util.formatIntNum = function (amtStr) {
var isInt = function (num) {
return (num % 1 === 0)
};
var amtStr = (isInt(amtStr)) ? amtStr : Number(amtStr).toFixed(0);
amtStr = "" + amtStr;
var a, renum = '';
var j = 0;
var a1 = '', a2 = '', a3 = '';
var tes = /^-/;
var isCurrency = (typeof (isCurrency) != 'undefined') ? isCurrency : true;
a = amtStr.replace(/,/g, "");
a = a.replace(/[^-\.,0-9]/g, "");
a = a.replace(/(^\s*)|(\s*$)/g, "");
if (tes.test(a))
a1 = '-';
else
a1 = '';
a = a.replace(/-/g, "");
if (a != "0" && a.substr(0, 2) != "0.")
a = a.replace(/^0*/g, "");
j = a.indexOf('.');
if (j < 0)
j = a.length;
a2 = a.substr(0, j);
a3 = a.substr(j);
j = 0;
for (i = a2.length; i > 3; i = i - 3) {
renum = "," + a2.substr(i - 3, 3) + renum;
j++;
}
renum = a1 + a2.substr(0, a2.length - j * 3) + renum + a3;
return renum;
}
/**
* format number of money.
* e.g. 12000.235 => 12,000.24
* @param amtStr number
* @return string
*/
sun.util.formatFloat = function (amtStr, isCurrency) {
var isInt = function (num) {
return (num % 1 === 0);
};
var amtStr = (isInt(amtStr)) ? amtStr : Number(amtStr).toFixed(2);
amtStr = "" + amtStr;
var a, renum = '';
var j = 0;
var a1 = '', a2 = '', a3 = '';
var tes = /^-/;
var isCurrency = (typeof (isCurrency) != 'undefined') ? isCurrency : true;
var subfix = (isInt(amtStr) && isCurrency) ? '.00' : '';
a = amtStr.replace(/,/g, "");
a = a.replace(/[^-\.,0-9]/g, "");
a = a.replace(/(^\s*)|(\s*$)/g, "");
if (tes.test(a))
a1 = '-';
else
a1 = '';
a = a.replace(/-/g, "");
if (a != "0" && a.substr(0, 2) != "0.")
a = a.replace(/^0*/g, "");
j = a.indexOf('.');
if (j < 0)
j = a.length;
a2 = a.substr(0, j);
a3 = a.substr(j);
j = 0;
for (i = a2.length; i > 3; i = i - 3) {
renum = "," + a2.substr(i - 3, 3) + renum;
j++;
}
renum = a1 + a2.substr(0, a2.length - j * 3) + renum + a3 + subfix;
return renum;
}
sun.util.isEven = function(num) {
return num % 2 == 0 ? true : false;
};
/**
* @param => ([])
* return true
*
* * @param => ({})
* return false
*
*/
sun.util.isArray = function(arg) {
// first way:
return Object.prototype.toString.call(arg) === '[object Array]';
// second way:
//return (arr instanceof Array);
};
/**
*
* eg. format = 'yyyy-MM-dd hh:mm:ss'
*
*/
sun.util.getCurrentTime = function(format) {
var _this = new Date();
var o = {
"M+": _this.getMonth() + 1, //month
"d+": _this.getDate(), //day
"h+": _this.getHours(), //hour
"m+": _this.getMinutes(), //minute
"s+": _this.getSeconds(), //second
"q+": Math.floor((_this.getMonth() + 3) / 3), //quarter
"S": _this.getMilliseconds() //millisecond
}
if(!format) {
format = "yyyy-MM-dd hh:mm:ss";
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (_this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
};
/**
*
* @param '<span>I am Hero!</span>'
* @return '<span>I am Hero!</span>'
*/
sun.util.htmlDecode = function(html) {
var a = document.createElement( 'a' ); a.innerHTML = html;
return a.textContent;
};
/**
*
* @param '<span>I am Hero!</span>'
* @return '<span>I am Hero!</span>'
*/
sun.util.htmlEncode = function ( html ) {
return document.createElement( 'a' ).appendChild(
document.createTextNode( html ) ).parentNode.innerHTML;
};
sun.util.parseToInt = function(obj, defaultNum, radix){
var _t = 0;
if (typeof radix != 'number'){
radix = 10;
}
_t = parseInt(obj, radix);
if (!_t){
_t = defaultNum;
}
return _t;
};
/**
* @param => ('I am a boy', 'boy', 'girl')
* return 'I am a girl'
* enhance replace
* @param oString string
* @param AFindText string
* @param ARepText string
* @return string
*/
sun.util.replaceAll = function (oString, AFindText, ARepText) {
var raRegExp = new RegExp(AFindText.replace(/([\(\)\[\]\{\}\^\$\+\-\*\?\.\"\'\|\/\\])/g, "\\$1"), "ig");
return oString.replace(raRegExp, ARepText);
};
/**
* @param => ('best {0} for {1}', 'wish', 'you')
* return 'best wish for you'
*/
sun.util.stringFormat = function(txt) {
var arg = arguments,
matchResult,
matLength,
str = txt,
reg = /\{\d+?\}/gmi,
i;
matchResult = str.match(reg);
if (matchResult) {
matLength = matchResult.length;
if (arg.length >= matLength) {
for (i = 0; i < matLength; i++) {
str = str.replace(matchResult[i], arg[i + 1]);
}
}
}
return str;
};
sun.util.transforTime = function (time) {
var date = parseInt(time);
var weekdays = ["Sun", "Mon", "Tues", "Wed", "Thur", "Fri", "Sat"];
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"];
var result = "";
result += weekdays[new Date(date).getDay()];
result += " ";
result += months[new Date(date).getMonth()];
result += " ";
result += new Date(date).getDate();
result += " ";
result += new Date(date).getFullYear();
result += " ";
result += new Date(date).getHours();
result += ":";
result += new Date(date).getMinutes();
return result;
};
sun.md.js
sun = sun || {};
sun.md = (function(global){
var self,
_userAgent = navigator.userAgent,
_rWins = /Windows/i,
_rWP = /IEMobile/i,
_rAndroid = /Android/i,
_rIPhone = /iPhone/i;
androidScreenPixelRatio = {
pr : null,
screenHeight : null,
getScreenHeight : function() {
var that = this;
if (null == that.screenHeight) {
that.screenHeight = (screen.width < screen.height) ? screen.height : screen.width;
}
return that.screenHeight;
},
getDpi : function() {
var that = this, dpi = 320;
if (1200 <= that.getScreenHeight()) {
dpi = "device-dpi";
}
return dpi;
},
getPixelRatio : function() {
var that = this;
if (null == that.pr) {
that.pr = window.devicePixelRatio;
}
return that.pr;
},
judgePixelRatio : function(pr) {
var that = this;
return (pr === that.getPixelRatio());
},
isLdpi : function() {
var that = this;
return that.judgePixelRatio(0.75);
},
isMdpi : function() {
var that = this;
return that.judgePixelRatio(1);
},
isHdpi : function() {
var that = this;
return that.judgePixelRatio(1.5);
}
};
BOMHeight = function() {
var pageHeight = window.innerHeight;
if(typeof pageHeight != "number"){
if(document.compatMode == "CSS1Compat"){
pageHeight = document.documentElement.clientHeight;
}else{
pageHeight = document.body.clientHeight;
}
}
return pageHeight;
};
_parseViewPortContent = function(initWidth, initHeight, isUserScale, initScale, minScale, maxScale, isIntelligence) {
var w = !!initWidth ? initWidth : "100%",
h = !!initHeight ? initHeight : BOMHeight(),
isUserScale = !!isUserScale ? 'yes' : 'no',
initScale = !!initScale ? initScale : 1.0, // 1.69
minScale = !!minScale ? minScale : 0.1,
maxScale = !!maxScale ? maxScale : 1.0,
domeMeta = '',
targetDensitydpi = 'device-dpi', // [dpi_value(70 - 400) | device-dpi | high-dpi | medium-dpi | low-dpi]
clientW = document.documentElement.clientWidth,
screenW = window.screen.width;
if (w === '100%') {
w = "device-width";
initScale = 1.0;
targetDensitydpi = 'device-dpi';
if (!!isIntelligence) {
initScale = (screenW/clientW).toFixed(4);
if(self.isAndroid()) {
targetDensitydpi = 'device-dpi';
}
}
}
if (typeof w === 'number') {
if (!!isIntelligence) {
w = Math.max(w, screenW);
}
initScale = (screenW/w).toFixed(4);
if(self.isAndroid()) {
initScale = 1;
targetDensitydpi = (w/2.25714).toFixed(4);
if (targetDensitydpi < 70) {
targetDensitydpi = 70;
}
if (targetDensitydpi > 400) {
targetDensitydpi = 400;
}
}
}
domeMeta =
'width=' + w +
//', height=' + h +
', minimum-scale=' + minScale +
', maximum-scale=' + maxScale +
', initial-scale=' + initScale +
', user-scalable=' + isUserScale +
', target-densitydpi=' + targetDensitydpi;
return domeMeta.trim();
};
_getScreen = function(){
// detail information to http://www.cnblogs.com/tearer/archive/2010/09/06/1819471.html
// window.devicePixelRatio = / dips
// window.screen.width = Android ,IOS =》 dips
var s = " :" + document.body.clientWidth + "
";
s += " :" + document.body.clientHeight + "
";
s += " :" + document.body.offsetWidth + " ( )" + "
";
s += " :" + document.body.offsetHeight + " ( )" + "
";
s += " :" + document.body.scrollWidth + "
";
s += " :" + document.body.scrollHeight + "
";
s += " (ff):" + document.body.scrollTop + "
";
s += " (ie):" + document.documentElement.scrollTop + "
";
s += " :" + document.body.scrollLeft + "
";
s += " :" + window.screenTop + "
";
s += " :" + window.screenLeft + "
";
s += " :" + window.screen.height + "
";
s += " :" + window.screen.width + "
";
s += " :" + window.screen.availHeight + "
";
s += " :" + window.screen.availWidth + "
";
s += " " + window.screen.colorDepth + " " + "
";
s += " / : " + window.devicePixelRatio + " / " + "
";
s += " " + window.screen.deviceXDPI + " / " + "
";
return s;
};
self = {};
self.userAgent = _userAgent;
//self.screen = _getScreen();
self.getViewPortContent = function() {
var domeMeta = document.getElementsByName('viewport')[0];
return domeMeta.content;
};
// var options = {
// initWidth: null,
// initHeight: null,
// isUserScale: null,
// initScale: null,
// minScale: null,
// maxScale: null,
// isIntelligence: bool /default null
// }
// default options likes: { initWidth : '100%' } or { initWidth : 540 }
// <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0">
self.setViewPortContent = function (options) {
var DOM_meta = document.getElementsByName('viewport')[0],
_content = '';
if (!DOM_meta) {
DOM_meta = document.createElement('meta');
DOM_meta.name = 'viewport';
document.head.appendChild(DOM_meta);
}
if (typeof options === 'string'){
_content = _content;
} else if (typeof options === 'object') {
_content = _parseViewPortContent(options.initWidth,
options.initHeight,
options.isUserScale,
options.initScale,
options.minScale,
options.maxScale,
options.isIntelligence);
} else {
_content = _parseViewPortContent();
}
DOM_meta.content = _content;
};
self.isAndroid = function () {
var me = this,
result = false;
if((_userAgent.match(_rAndroid))&& (_userAgent.match(_rAndroid).length > 0)) {
result = true;
}
return result;
};
self.isWindows = function () {
var me = this,
result = false;
if((_userAgent.match(_rWins)) && (_userAgent.match(_rWins).length > 0)) {
result = true;
}
return result;
};
self.isWinPhone = function () {
var me = this,
result = false;
if((_userAgent.match(_rWP)) && (_userAgent.match(_rWP).length > 0)) {
result = true;
}
return result;
};
self.isIOS = function () {
var me = this,
result = false;
if((_userAgent.match(_rIPhone))&& (_userAgent.match(_rIPhone).length > 0)) {
result = true;
}
return result;
};
return self;
})(this);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제국 cms7.0 기본 검색 모델의 페이지 수정 [!--show.page--]기본 검색 모드를 수정하는 페이지는 e/class/connect입니다.php 아래 function 페이지 1을 검색하면 저희가 수정할 페이지입니다. 다음은 내가 수정한 페이지를 붙인다 위의 코드 스타일은 내가 전편 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.