console
// Import stylesheets
// import './style.css';
// Write Javascript code!
const appDiv = document.getElementById('app');
appDiv.innerHTML = ``;
Array.prototype.slice.call(document.querySelectorAll('img')).forEach(v => {
setImg(v);
});
console.log(Array.prototype.slice.call(document.querySelectorAll('img')));
function setImg(img) {
// 去除淡入淡出效果
let dataSrc = img.getAttribute('data-src');
// http://imgservice.suning.cn/uimg1/scos/content/ssngzm-t-ZeLNOYhnIRP4g.jpeg_0-234-588-1045a
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.jpg_132-0-397-397a_is
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.png
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.jpg
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.gif
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.jpg?abcd
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.png?abcd
// http://image2.suning.cn/uimg/MFS/show/157122110861071648.gif?abcd
// 如果是 webp 和 gif 则不处理 webp 格式,直接渲染
let checkFormat = function() {
return ['.gif', 'w_', 'format=', '.jpg_', '.jpeg_'].every(item => {
return dataSrc.indexOf(item) < 0;
});
};
if (checkFormat()) {
// 图片本身带参数则不能直接赋值 ?frome=mobile 会造成图片 404
if (dataSrc.indexOf('?') > -1) {
// 非商品图使用 &format=is 方式统一转成压缩率更高方式
img.src = dataSrc.replace('http:', '') + '&format=is';
} else {
img.src = dataSrc.replace('http:', '') + '?format=is';
}
if (dataSrc.indexOf('.png') > -1 && window.isWebp) {
img.src = img.src + '.webp';
}
} else {
img.src = dataSrc.replace('http:', '');
}
}
<!DOCTYPE HTML>
<html class="channel">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<link rel="shortcut icon" href="//www.suning.com/favicon.ico" type="image/x-icon"/>
<link href="//res.suning.cn/project/cmsWeb/suning/wap/images/suning-icon-114-114.png" rel="apple-touch-icon-precomposed">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta content="telephone=no" name="format-detection" />
<meta name="wap-font-scale" content="no">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="智能生活精选页"/>
<meta name="description" content="智能生活精选页" />
<title>智能生活精选页 : 苏宁易购手机版</title>
<link rel="stylesheet" type="text/css" href="//res.suning.cn/public/v5/common/2.0.0/m-common.css?v=20160107">
<link rel="stylesheet" type="text/css" href="//res.suning.cn/project/cmsWeb/suning/newwap/znsh/index.css?v=2018092601102094">
<script type="text/javascript">
window.resDomian = "//res.suning.cn";
window.URL_CONST = {a:1}
var sn_config = sn_config || {
pageCode:"znshjx",
dataAcq:"10003-null-100066/null-智能生活精选页/znshjx",
pageId:"106508",
idsauthServerUrl:"https://passport.suning.com/ids",
idsauthUrl:"https://aq.suning.com/asc/auth",
base:"//" + "m.suning.com",
v:'?v=2018092601102094',
}
</script>
<!-- <meta content="30014" name="pageid" id="spmId">
<meta content="true" name="autoclick" id="autoclick">
<meta content="f73ee1cf" name="siteid"> -->
<script type="text/javascript">
// window.blockflexible = true;
!function(){
var UA = window.navigator.userAgent,
docEl = document.documentElement;
var utm_source = (document.referrer.indexOf('baidu')) >= 0 && (window.location.href.indexOf('utm_source') <= 0);
var _isAwaken = UA.match(/lmbang/i)
|| utm_source
|| (window.location.href.indexOf('zhanwai') >= 0)
|| UA.match(/PPTV/i)
|| UA.match(/SNYifubao/i)
|| UA.match(/suningsports/i)
|| UA.match(/AlipayClient/i);
if(UA.match(/baiduboxapp;?/i) && (window.location.href.indexOf('utm_source') >= 0)){
_isAwaken = false;
}
window.device = {
isApp : UA.match(/SNEBUY-APP;?/i) ? true : false,
isLite : UA.match(/SNLITE-WAP/i) ? true : false,
isAndroid : UA.match(/android/i) ? true : false,
isIOS : UA.match(/(iPhone|iPod|iPad);?/i) ? true : false,
isWX : UA.match(/MicroMessenger/i) ? true : false,
isXJJY: UA.match(/SNAPLLO-APP/i) ? true : false,
isEbook: UA.match(/EBOOK-APP/i) ?true : false,
isToutiao: UA.match(/NewsArticle/i) ?true : false,
isXd: UA.match(/NEARBY-APP/i) ?true : false,
isAwaken: _isAwaken ? true : false
};
docEl && device.isApp && (docEl.className += ' sn-app');
docEl && device.isAwaken && (docEl.className += ' is-silent');
docEl && device.isLite && (docEl.className += ' sn-lite');
docEl && device.isAndroid && (docEl.className += ' android');
docEl && device.isIOS && (docEl.className += ' ios');
docEl && device.isWX && (docEl.className += ' wx');
docEl && device.isXJJY && (docEl.className += ' sn-xjjy');
docEl && device.isEbook && (docEl.className += ' sn-ebook');
docEl && device.isToutiao && (docEl.className += ' jrtt');
docEl && device.isXd && (docEl.className += ' sn-xd');
function wxJsBridgeready() {
if (window.__wxjs_environment === 'miniprogram') {
docEl && (docEl.className += ' wx-minipro');
}
}
if (window.__wxjs_environment === 'miniprogram') {
docEl && (docEl.className += ' wx-minipro');
}else{
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
document.addEventListener('WeixinJSBridgeReady', wxJsBridgeready, false);
} else {
wxJsBridgeready();
}
}
}()
</script>
<style type="text/css">
.sn-sjjy .sn-nav,.sn-ebook .sn-nav,.wx-minipro .sn-nav,.jrtt .sn-nav ,.sn-xd .sn-nav{display: none;}
.wx-minipro .headDom{display: none}
</style>
</head>
<body style="height: 2000px;">
<input type="date">
<div id="floor">
<img data-src="https://image1.suning.cn/uimg/MFS/show/153900209452449076.jpg_414w_736h_2e">
<img data-src="https://image3.suning.cn/uimg/cms/img/161110399662234782.jpg?format=146w_161h">
<img data-src="https://image3.suning.cn/uimg/cms/img/161110399662234782.jpg">
<!-- <div class="before" id='aa'></div> -->
<div id="root" style="height:990px;">
{{name}}
<button @click="passport()">jjj</button>
<ul>
<li v-for="(food, index) in foodList">{{food}} + {{index}}</li>
</ul>
</div>
<img src="http://sdosspre1.cnsuning.com/sfm/sxp-oss-bucket/%E8%83%8C%E6%99%AF/%E8%83%8C%E6%99%AF2.png" alt="">
<img data-src="https://image2.suning.cn/uimg/cms/img/153191241814569871.png">
<img data-src="https://image2.suning.cn/uimg/cms/img/153191243126521616.png">
</div>
<!-- 加载控件 [[ 状态:loading|end|hide-->
<div class="sn-loading-type" data-status="hide">
<div class="end sn-end-loading"><span>我是有底线的哦</span></div>
</div>
<script type="text/javascript">
// alert(navigator.hardwareConcurrency)
</script>
<script src="https://lib.suning.com/weex/test/app.canary.js"></script>
<!-- <script src="https://res.suning.cn/public/v5/js/zepto/1.1.4/app.js"></script> -->
<!-- <script src="https://sitres.suning.cn/vues/example/wx.js"></script> -->
<script type="text/javascript">
snVue.passport(function (userData) {
console.log(userData)
// 已登录
}, function () {
console.log('unlogin222')
})
snVue.passport(function (userData) {
console.log('login')
// 已登录
}, function () {
console.log('unlogin11')
})
snVue.passport(function (userData) {
console.log('login')
// 已登录
}, function () {
console.log('unlogin13')
})
setTimeout(() => {
snVue.passport(function (userData) {
console.log('login')
// 已登录
}, function () {
console.log('unlogin14')
})
}, 3000);
snVue.ajax({ url: 'http://rods.suning.com/rods-web/route.jsonp?recFlag=1&u=&c=uxjzu2wsBmJKTNt8CtKvqLV5EtKWX8lPcJ3JS1iUWfI*&cityId=025&apiCode=J0344&sceneCode=C0037&channelCode=5&snTerminal=284000002001&categoryCode=&count=7'}).then(a => console.log(a)).catch(()=>{console.log(555);})
/**
* 本文件依赖于app.js sa-analytics.js;
* uom最新规范
*
埋点方法wiki地址:http://wiki.cnsuning.com/pages/viewpage.action?pageId=31065318#Web/H5%E5%9F%8B%E7%82%B9%E6%96%B9%E6%B3%95%E4%BB%8B%E7%BB%8D(%E6%98%93%E8%B4%AD%E7%89%88%EF%BC%8C%E9%9D%A2%E5%90%91%E5%89%8D%E7%AB%AF)-%E9%A1%B5%E9%9D%A2%E5%BC%82%E5%B8%B8
*/
var app = new Vue({
el: '#root',
data: {
foodList: ['da', 'sha', 'bi'],
url: 'http://m.suning.com',
active: true,
name: 'Yoooooooo',
math: 90,
english: 100,
price: '10'
},
mounted: function (params) {
// this.$data.name = 555888
// this.$set(this.$data, name, 77777)
this.setData({
name: 5444455,
price: 555
},this)
// this.setData({
// name: 666
// })
},
methods: {
// passport: function (params) {
// snVue.passport(function (userData) {
// console.log('login')
// // 已登录
// }, function () {
// console.log('unlogin333')
// })
// }
}
})
var priceData = [{
productCode: 10527154844,
venderCode: '0000000000'
},{
productCode: 826336824,
venderCode: '0000000000'
},{
productCode: 10821958178,
venderCode: '0000000000'
},{
productCode: 10984164283,
venderCode: '0000000000'
},{
productCode: 10884202057,
venderCode: '0000000000'
}]
snVue.getAllPrice({
priceData: priceData,
total: 1,
// env: snVue.utils.protocol(URL_CONST.ICPS_HOST[snVue.base.getEnvName()]),
env: 'http://icpsxgpre.cnsuning.com',
callback: function(prices, idx, length){
}
})
// snVue.tokenCode('N53kt1WLBdN6Ra9e').then(function(){
// _dfp.getToken(function (token) {
// bd.rstAsync({
// params:{
// scene:"2" // 必填
// },
// callback: function(token, data) {
// // 业务代码
// },
// timeout:500 //超时时间,默认500ms
// })
// });
// })
// snVue.getAllPrice({
// priceData: priceData,
// env: snVue.utils.protocol(URL_CONST.ICPS_HOST[snVue.base.getEnvName()]),
// // env: 'http://icpspre.cnsuning.com',
// callback: function(prices, idx, length){
// }
// })
let data ={
a: 1,
b: 2
}
let {a, b} = data;
console.log(snVue.base.pureImage('https://image1.suning.cn/uimg/MFS/show/153900209452449076.jpeg_414w_736h_2e'))
snVue.lazyload('#floor')
setTimeout(() => {
snVue.loadSa().then(function name(params) {
console.log(45)
})
}, 300);
setTimeout(() => {
snVue.loadSa().then(function name(params) {
console.log(415)
})
}, 1000);
snVue.loadSa().then(function name(params) {
console.log(435)
})
snVue.utils.ajax({
type: 'get',
url: 'http://f.m.suning.com/api/ct.do',
dataType: 'jsonp',
async: true
}).then(function (params) {
console.log(params)
})
var aa = {styleData: {a:1,b:2,c:3}, floorData: [1,2,4]}
var bb = {styleData: {a:'',c:4}, floorData: [1]}
// console.log(extend(true, {}, aa, bb))
// console.log(snVue.utils.extendZ({}, aa, bb))
</script>
<script type="text/javascript">
var _ = {}
var scrollnum = 0;
function lazyload(){
console.log("scroll执行了"+scrollnum++);
}
var lay = snVue.utils.throttle(lazyload,500);
</script>
</body>
</html>