Toggle navigation
Toggle navigation
This project
Loading...
Sign in
wangshusheng
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to dashboard
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
xuqi
9 years ago
Commit
c2af5d49faf6c973dc2d1b7ddc36929556d8ecce
1 parent
c290d62e
respond crossdomain.Review by:
@bikai
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
241 additions
and
5 deletions
template/www.yohobuy.com/partials/layout/header.phtml
web-static/gulpfile.js
web-static/plugin/page/respond/respond-proxy.html
web-static/plugin/page-use/respond.min.js → web-static/plugin/page/respond/respond.min.js
web-static/plugin/page/respond/respond.proxy.js
yohobuy/www.yohobuy.com/public/proxy/respond.proxy.gif
template/www.yohobuy.com/partials/layout/header.phtml
View file @
c2af5d4
...
...
@@ -12,27 +12,38 @@
{{#if rlsEnv}}
<link
rel=
"stylesheet"
href=
"http://cdn.yoho.cn/yohobuy/{{version}}/index.css"
>
<!--[if lt IE 9]>
<script src="http://cdn.yoho.cn/yohobuy/respond.min.js"></script>
<script src="http://cdn.yoho.cn/yohobuy/respond/respond.min.js"></script>
<link href="http://cdn.yoho.cn/yohobuy/respond/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<script src="http://cdn.yoho.cn/yohobuy/respond/respond.proxy.js"></script>
<![endif]-->
{{/if}}
{{#if preEnv}}
<link
rel=
"stylesheet"
href=
"http://cdn.yoho.cn/yohobuy/{{version}}/index.css"
>
<!--[if lt IE 9]>
<script src="http://cdn.yoho.cn/yohobuy/respond.min.js"></script>
<script src="http://cdn.yoho.cn/yohobuy/respond/respond.min.js"></script>
<link href="http://cdn.yoho.cn/yohobuy/respond/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<script src="http://cdn.yoho.cn/yohobuy/respond/respond.proxy.js"></script>
<![endif]-->
{{/if}}
{{#if testEnv}}
<link
rel=
"stylesheet"
href=
"http://static.buy.test.yoho.cn/dist/yohobuy/{{version}}/index.css"
>
<!--[if lt IE 9]>
<script src="http://static.buy.test.yoho.cn/dist/yohobuy/respond.min.js"></script>
<script src="http://static.buy.test.yoho.cn/dist/yohobuy/respond/respond.min.js"></script>
<link href="http://static.buy.test.yoho.cn/dist/yohobuy/respond/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<script src="http://static.buy.test.yoho.cn/dist/yohobuy/respond/respond.proxy.js"></script>
<![endif]-->
{{/if}}
{{#if devEnv}}
<link
rel=
"stylesheet"
href=
"http://webstatic.dev.yohobuy.com/css/index.css"
>
<!--[if lt IE 9]>
<script src="http://webstatic.dev.yohobuy.com/plugin/page-use/respond.min.js"></script>
<script src="http://webstatic.dev.yohobuy.com/plugin/page/respond/respond.min.js"></script>
<link href="http://webstatic.dev.yohobuy.com/plugin/page/respond/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
<script src="http://webstatic.dev.yohobuy.com/plugin/page/respond/respond.proxy.js"></script>
<![endif]-->
{{/if}}
<!--[if lt IE 9]>
<link href="proxy/respond.proxy.gif" id="respond-redirect" rel="respond-redirect" />
<![endif]-->
</head>
<body>
{{> layout/page-header}}
\ No newline at end of file
...
...
web-static/gulpfile.js
View file @
c2af5d4
...
...
@@ -195,6 +195,6 @@ gulp.task('business', ['libs'], function() {
//页面需要直接标签引用的JS
gulp
.
task
(
'script'
,
function
()
{
gulp
.
src
(
'plugin/page
-use
/*'
)
gulp
.
src
(
'plugin/page
/**
/*'
)
.
pipe
(
gulp
.
dest
(
rootDist
));
});
\ No newline at end of file
...
...
web-static/plugin/page/respond/respond-proxy.html
0 → 100644
View file @
c2af5d4
<!-- Respond.js: min/max-width media query polyfill. Remote proxy (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs -->
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"utf-8"
/>
<title>
Respond JS Proxy
</title>
</head>
<body>
<script>
(
function
()
{
var
domain
,
css
,
query
,
getQueryString
,
ajax
,
xmlHttp
;
/*
http://stackoverflow.com/questions/4963673/get-url-array-variables-in-javascript-jquery/4963817#4963817
*/
getQueryString
=
function
()
{
var
ret
=
{},
parts
,
i
,
p
;
parts
=
(
document
.
location
.
toString
().
split
(
"?"
)[
1
]).
split
(
"&"
);
for
(
i
=
0
;
i
<
parts
.
length
;
i
++
)
{
p
=
parts
[
i
].
split
(
"="
);
// so strings will be correctly parsed:
p
[
1
]
=
decodeURIComponent
(
p
[
1
].
replace
(
/
\+
/g
,
" "
));
if
(
p
[
0
].
search
(
/
\[\]
/
)
>=
0
)
{
// then it"s an array
p
[
0
]
=
p
[
0
].
replace
(
"[]"
,
""
);
if
(
typeof
ret
[
p
[
0
]]
!=
"object"
)
{
ret
[
p
[
0
]]
=
[];
}
ret
[
p
[
0
]].
push
(
p
[
1
]);
}
else
{
ret
[
p
[
0
]]
=
p
[
1
];
}
}
return
ret
;
};
ajax
=
function
(
url
,
callback
)
{
var
req
=
xmlHttp
();
if
(
!
req
){
return
;
}
req
.
open
(
"GET"
,
url
,
true
);
req
.
onreadystatechange
=
function
()
{
if
(
req
.
readyState
!=
4
||
req
.
status
!=
200
&&
req
.
status
!=
304
){
return
;
}
callback
(
req
.
responseText
);
};
if
(
req
.
readyState
==
4
){
return
;
}
req
.
send
();
};
//define ajax obj
xmlHttp
=
(
function
()
{
var
xmlhttpmethod
=
false
,
attempts
=
[
function
(){
return
new
XMLHttpRequest
();
},
function
(){
return
new
ActiveXObject
(
"Microsoft.XMLHTTP"
);
},
function
(){
return
new
ActiveXObject
(
"MSXML2.XMLHTTP.3.0"
);
}
],
al
=
attempts
.
length
;
while
(
al
--
){
try
{
xmlhttpmethod
=
attempts
[
al
]();
}
catch
(
e
)
{
continue
;
}
break
;
}
return
function
(){
return
xmlhttpmethod
;
};
})();
query
=
getQueryString
();
css
=
query
[
"css"
];
domain
=
query
[
"url"
];
if
(
css
&&
domain
)
{
ajax
(
css
,
function
(
response
)
{
window
.
name
=
response
;
window
.
location
.
href
=
domain
;
});
}
}());
</script>
</body>
</html>
\ No newline at end of file
...
...
web-static/plugin/page
-use
/respond.min.js → web-static/plugin/page
/respond
/respond.min.js
View file @
c2af5d4
web-static/plugin/page/respond/respond.proxy.js
0 → 100644
View file @
c2af5d4
/*! Respond.js: min/max-width media query polyfill. Remote proxy (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
(
function
(
win
,
doc
,
undefined
){
var
docElem
=
doc
.
documentElement
,
proxyURL
=
doc
.
getElementById
(
"respond-proxy"
).
href
,
redirectURL
=
(
doc
.
getElementById
(
"respond-redirect"
)
||
location
).
href
,
baseElem
=
doc
.
getElementsByTagName
(
"base"
)[
0
],
urls
=
[],
refNode
;
function
encode
(
url
){
return
win
.
encodeURIComponent
(
url
);
}
function
fakejax
(
url
,
callback
){
var
iframe
,
AXO
;
// All hail Google http://j.mp/iKMI19
// Behold, an iframe proxy without annoying clicky noises.
if
(
"ActiveXObject"
in
win
)
{
AXO
=
new
ActiveXObject
(
"htmlfile"
);
AXO
.
open
();
AXO
.
write
(
'<iframe id="x"></iframe>'
);
AXO
.
close
();
iframe
=
AXO
.
getElementById
(
"x"
);
}
else
{
iframe
=
doc
.
createElement
(
"iframe"
);
iframe
.
style
.
cssText
=
"position:absolute;top:-99em"
;
docElem
.
insertBefore
(
iframe
,
docElem
.
firstElementChild
||
docElem
.
firstChild
);
}
iframe
.
src
=
checkBaseURL
(
proxyURL
)
+
"?url="
+
encode
(
redirectURL
)
+
"&css="
+
encode
(
checkBaseURL
(
url
));
function
checkFrameName
()
{
var
cssText
;
try
{
cssText
=
iframe
.
contentWindow
.
name
;
}
catch
(
e
)
{
}
if
(
cssText
)
{
// We've got what we need. Stop the iframe from loading further content.
iframe
.
src
=
"about:blank"
;
iframe
.
parentNode
.
removeChild
(
iframe
);
iframe
=
null
;
// Per http://j.mp/kn9EPh, not taking any chances. Flushing the ActiveXObject
if
(
AXO
)
{
AXO
=
null
;
if
(
win
.
CollectGarbage
)
{
win
.
CollectGarbage
();
}
}
callback
(
cssText
);
}
else
{
win
.
setTimeout
(
checkFrameName
,
100
);
}
}
win
.
setTimeout
(
checkFrameName
,
500
);
}
// http://stackoverflow.com/a/472729
function
checkBaseURL
(
href
)
{
var
el
=
document
.
createElement
(
'div'
),
escapedURL
=
href
.
split
(
'&'
).
join
(
'&'
).
split
(
'<'
).
join
(
'<'
).
split
(
'"'
).
join
(
'"'
);
el
.
innerHTML
=
'<a href="'
+
escapedURL
+
'">x</a>'
;
return
el
.
firstChild
.
href
;
}
function
checkRedirectURL
()
{
// IE6 & IE7 don't build out absolute urls in <link /> attributes.
// So respond.proxy.gif remains relative instead of http://example.com/respond.proxy.gif.
// This trickery resolves that issue.
if
(
~
!
redirectURL
.
indexOf
(
location
.
host
))
{
var
fakeLink
=
doc
.
createElement
(
"div"
);
fakeLink
.
innerHTML
=
'<a href="'
+
redirectURL
+
'"></a>'
;
docElem
.
insertBefore
(
fakeLink
,
docElem
.
firstElementChild
||
docElem
.
firstChild
);
// Grab the parsed URL from that dummy object
redirectURL
=
fakeLink
.
firstChild
.
href
;
// Clean up
fakeLink
.
parentNode
.
removeChild
(
fakeLink
);
fakeLink
=
null
;
}
}
function
buildUrls
(){
var
links
=
doc
.
getElementsByTagName
(
"link"
);
for
(
var
i
=
0
,
linkl
=
links
.
length
;
i
<
linkl
;
i
++
){
var
thislink
=
links
[
i
],
href
=
links
[
i
].
href
,
extreg
=
(
/^
([
a-zA-Z:
]
*
\/\/(
www
\.)?)
/
).
test
(
href
),
ext
=
(
baseElem
&&
!
extreg
)
||
extreg
;
//make sure it's an external stylesheet
if
(
thislink
.
rel
.
indexOf
(
"stylesheet"
)
>=
0
&&
ext
){
(
function
(
link
){
fakejax
(
href
,
function
(
css
){
link
.
styleSheet
.
rawCssText
=
css
;
respond
.
update
();
}
);
})(
thislink
);
}
}
}
if
(
!
respond
.
mediaQueriesSupported
){
checkRedirectURL
();
buildUrls
();
}
})(
window
,
document
);
...
...
yohobuy/www.yohobuy.com/public/proxy/respond.proxy.gif
0 → 100644
View file @
c2af5d4
35 Bytes
Please
register
or
login
to post a comment