layout.hbs 8.93 KB
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>{{title}}</title>
        <meta name="keywords" content="{{keywords}}">
        <meta name="description" content="{{description}}">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
        <meta http-equiv="cleartype" content="on">
        <meta name="apple-mobile-web-app-status-bar-style" content="black" />
        <meta content="telephone=no" name="format-detection" />
        <meta content="email=no" name="format-detection" />
        <meta name="referrer" content="always">
        {{# cononical}}
        <meta name="applicable-device" content="mobile">
        <link rel="cononical" href="{{currentHref}}">
        {{/ cononical}}
        {{#if miphtml}}
        <link rel="miphtml" href="{{miphtml}}">
        {{/if}}
        {{#dnsPrefetch.hosts}}
            <link rel="dns-prefetch" href="{{this}}">
        {{/dnsPrefetch.hosts}}

        <script>
            window._timeStart = Date.now();
            
            {{#ifand isProduction wap.open.bughd}}
            !function (r) { function e(n) { if (t[n]) return t[n].exports; var o = t[n] = { exports: {}, id: n, loaded: !1 }; return r[n].call(o.exports, o, o.exports, e), o.loaded = !0, o.exports } var t = {}; return e.m = r, e.c = t, e.p = "", e(0) }([function (r, e, t) { var n = t(1), o = t(2), i = "_errLog", s = function () { var r = (n("yohobuy_session") || "").slice(2).split(".")[0]; return r || 0 }, p = function () { var r = (n("_UID") || "").split("::")[1]; return r || 0 }, u = function () { return n("docreqid") || 0 }, a = { writeError: function (r, e, t, o, a) { var c = JSON.parse(n(i) || "[]"); c.push({ tp: "err", msg: r, sc: e, ln: t, cn: o, pt: location.href, u: p(), ud: s(), rid: u(), st: JSON.stringify(a && a.stack) }), n(i, JSON.stringify(c)), c.length >= 5 && this.reportError() }, clearError: function () { n(i, "[]") }, reportError: function () { var r = this, e = JSON.parse(n(i) || "[]"), t = o.stringify(e); o.report(t, function () { r.clearError() }) }, init: function () { window.onerror = this.writeError.bind(this), this.reportError() } }; a.init(), r.exports = a }, function (r, e) { r.exports = function (r, e, t) { if ("undefined" == typeof e) { var n = null; if (document.cookie) for (var o = document.cookie.split(";"), i = 0; i < o.length; i++) { var s = (o[i] || "").trim(); if (s.substring(0, r.length + 1) == r + "=") { n = decodeURIComponent(s.substring(r.length + 1)); break } } return n } t = t || {}, null === e && (e = "", t.expires = -1); var p = ""; if (t.expires && ("number" == typeof t.expires || t.expires.toUTCString)) { var u; "number" == typeof t.expires ? (u = new Date, u.setTime(u.getTime() + 24 * t.expires * 60 * 60 * 1e3)) : u = t.expires, p = "; expires=" + u.toUTCString() } var a = t.path ? "; path=" + t.path : "", c = t.domain ? "; domain=" + t.domain : "", f = t.secure ? "; secure" : ""; document.cookie = [r, "=", encodeURIComponent(e), p, a, c, f].join("") } }, function (r, e) { var t = { config: { reportUrl: "//badjs.yoho.cn/apm/yas.gif" }, stringify: function (r) { for (var e = [], t = 0; t < r.length; t++) { var n = r[t], o = []; for (var i in n) n.hasOwnProperty(i) && o.push(i + "::" + n[i]); e.push(o.join("$$")) } return e.join("**") }, report: function (r, e) { if (r) { var t = new Image; t.src = this.config.reportUrl + "?l=" + r + "&t=" + (new Date).getTime(), e && e() } } }; r.exports = t }]);
            {{/ifand}}
        </script>

        {{!-- Android机器页面不再受到用户字体缩放强制改变大小 'http://m.blog.csdn.net/article/details?id=51275080' --}}
        <script type="text/javascript">
            var isWechat = /micromessenger/i.test(navigator.userAgent || '');
            if (isWechat) {
                document.title =document.title.replace(' | Yoho!Buy有货 | 潮流购物逛不停', '');
                (function(){function setWechatSize(){if(typeof WeixinJSBridge!=="undefined"&&WeixinJSBridge.invoke){WeixinJSBridge.invoke("setFontSizeCallback",{fontSize:0},function(){})}}if(typeof WeixinJSBridge!=="undefined"){setTimeout(setWechatSize,0)}else{document.addEventListener("WeixinJSBridgeReady",function(){setTimeout(setWechatSize,0)})};}());
            }
        </script>

        {{#if width750}}
        <script type="text/javascript">
            (function(d,c){var e=d.documentElement,a="orientationchange" in window?"orientationchange":"resize",b=function(){var f=e.clientWidth;if(!f){return}if(f>=750){e.style.fontSize="40px"}else{e.style.fontSize=40*(f/750)+"px"}};if(!d.addEventListener){return}b();c.addEventListener(a,b,false);d.addEventListener("DOMContentLoaded",b,false)})(document,window);
        </script>
        {{^}}
        <script type="text/javascript">
            (function(d,c){var e=d.documentElement,a="orientationchange" in window?"orientationchange":"resize",b=function(){var f=e.clientWidth;if(!f){return}if(f>=640){e.style.fontSize="40px"}else{e.style.fontSize=40*(f/640)+"px"}};if(!d.addEventListener){return}b();c.addEventListener(a,b,false);d.addEventListener("DOMContentLoaded",b,false)})(document,window);
        </script>
        {{/if}}

        {{#if devEnv}}
            {{#if localCss }}
                <link rel="stylesheet" media="all" href="//{{devHost}}:5001/common.css?t={{startTime}}">
            {{/if}}

            {{#if isFeature}}
                <link rel="stylesheet" media="all" href="//{{devHost}}:5001/feature.css?t={{startTime}}">
            {{else}}
                {{#ifor localCss vue}}
                    <link rel="stylesheet" media="all" href="//{{devHost}}:5001/{{module}}.{{page}}.css?t={{startTime}}">
                {{^}}
                    <link rel="stylesheet" media="all" href="//{{devHost}}:5001/index.css?t={{startTime}}">
                {{/ifor}}
            {{/if}}
        {{else}}
            {{#if localCss }}
                <link rel="stylesheet" media="all" href="//cdn.yoho.cn/m-yohobuy-node/{{version}}/common.css?t={{startTime}}">
            {{/if}}

            {{#if isFeature}}
                <link rel="stylesheet" media="all" href="//cdn.yoho.cn/m-yohobuy-node/{{version}}/feature.css?t={{startTime}}">
            {{else}}
                {{#ifor localCss vue}}
                    <link rel="stylesheet" media="all" href="//cdn.yoho.cn/m-yohobuy-node/{{version}}/{{module}}.{{page}}.css?t={{startTime}}">
                {{^}}
                    <link rel="stylesheet" media="all" href="//cdn.yoho.cn/m-yohobuy-node/{{version}}/index.css?t={{startTime}}">
                {{/ifor}}
            {{/if}}
        {{/if}}
        <link rel="apple-touch-icon-precomposed" href="http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
        <link rel="apple-touch-startup-image" sizes="640x920" href="http://static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
        <link rel="apple-touch-startup-image" sizes="320x460" href="http://static.yohobuy.com/m/v1/img/startup/startup.png" media="screen and (max-device-width: 320)">
    </head>
    <body class="{{pageStyle}}{{#if isWechat}} wechat-body{{/if}}{{#if width750}} width750{{/if}}{{#if isPassportPage}} passport-body{{/if}}{{#if isStarIndexPage}} star-index-bg{{/if}}{{#if isStarDetailPage}} star-class-body{{/if}}{{#if isInstallmentPage}} installment-body{{/if}}{{#if @root.isMarsApp}} is-mars-app{{/if}}">
    <div class="main-wrap" id="main-wrap" {{#if appPath}}data-apppath='{{{appPath}}}'{{/if}}>
            {{#if systemUpdate}}
                {{> updata}}
            {{/if}}

            {{#if showHeader}}
                {{#unless isApp}}
                    {{> header}}
                {{/unless}}
            {{/if}}

            {{{body}}}

            {{#unless isApp}}
                {{> footer}}
            {{/unless}}
        </div>

        {{> download-app}}
        {{#if nodownload}}
            <input type="hidden" id="no-download" value="no-download">
        {{/if}}
        {{#wechatShare}}
            <script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
        {{/wechatShare}}
        {{#if devEnv}}
            <script>var STATIC_RESOURCE_PATH = '//{{devHost}}:5001';</script>

            <script src="//{{devHost}}:5001/libs.js"></script>
            <script src="//{{devHost}}:5001/{{module}}.{{page}}.js"></script>
        {{^}}
            <script>var STATIC_RESOURCE_PATH = '//cdn.yoho.cn/m-yohobuy-node/assets';</script>
            <script src="//cdn.yoho.cn/m-yohobuy-node/{{version}}/libs.js?t={{startTime}}" crossorigin="anonymous"></script>
            <script src="//cdn.yoho.cn/m-yohobuy-node/{{version}}/{{module}}.{{page}}.js?t={{startTime}}" crossorigin="anonymous"></script>
        {{/if}}
        {{#loadJs}}
            <script type="text/javascript" src="{{src}}" crossorigin="anonymous"></script>
        {{/loadJs}}
        {{#unless devEnv}}
        {{> analysis}}
        {{/unless}}
    </body>
</html>