请教大神们一个JS代码在IE8以下浏览器兼容的问题! 5
大神们,我太小白了!请帮忙改下吧!具体代码:try{varimgs=document.getElementsByTagName('img');varvideos=docu...
大神们,我太小白了!请帮忙改下吧!
具体代码:
try {
var imgs = document.getElementsByTagName('img');
var videos = document.getElementsByClassName('video_iframe');
changeData(imgs, 'image');
changeData(videos, 'video');
} catch (err) {
}
try {
var imgs_list_left = document.getElementById("newsngList").getElementsByTagName("img");
changeDataoriginal(imgs_list_left, 'image');
} catch (err) {
}
function changeData(data, tag) {
for (var i = 0; i < data.length; i++) {
if (!data[i].hasAttribute("data-src") && data[i].hasAttribute("src") && (data[i].getAttribute("src")).lastIndexOf('http', 0) === 0 && (data[i].getAttribute("src")).indexOf('111/') == -1) {
data[i].setAttribute("data-src", data[i].getAttribute("src"));
}
if (data[i].hasAttribute("data-src")) {
datasrc = data[i].getAttribute("data-src");
datasrc = datasrc.replace("11111", '22222');
datasrc = datasrc.replace("11111", 22222');
data[i].setAttribute("src", datasrc);
data[i].removeAttribute("data-src");
}
}
}
function changeDataoriginal(data, tag) {
for (var i = 0; i < data.length; i++) {
data[i].setAttribute("data-src", data[i].getAttribute("data-original"));
if (data[i].hasAttribute("data-src")) {
datasrc = data[i].getAttribute("data-src");
datasrc = datasrc.replace("11111", '22222');
datasrc = datasrc.replace("11111", '22222');
data[i].setAttribute("src", datasrc);
data[i].removeAttribute("data-src");
}
}
}
代码的目的是把原来data-src显示为src 把11111替换为22222 这段代码测试在百度 Chrome 都测试OK 就是IE8以下貌似都不行至于IE9以上浏览器没试~~请大神帮忙改的兼容IE8 IE7 至于IE6就无所谓了!!感激不尽!! 展开
具体代码:
try {
var imgs = document.getElementsByTagName('img');
var videos = document.getElementsByClassName('video_iframe');
changeData(imgs, 'image');
changeData(videos, 'video');
} catch (err) {
}
try {
var imgs_list_left = document.getElementById("newsngList").getElementsByTagName("img");
changeDataoriginal(imgs_list_left, 'image');
} catch (err) {
}
function changeData(data, tag) {
for (var i = 0; i < data.length; i++) {
if (!data[i].hasAttribute("data-src") && data[i].hasAttribute("src") && (data[i].getAttribute("src")).lastIndexOf('http', 0) === 0 && (data[i].getAttribute("src")).indexOf('111/') == -1) {
data[i].setAttribute("data-src", data[i].getAttribute("src"));
}
if (data[i].hasAttribute("data-src")) {
datasrc = data[i].getAttribute("data-src");
datasrc = datasrc.replace("11111", '22222');
datasrc = datasrc.replace("11111", 22222');
data[i].setAttribute("src", datasrc);
data[i].removeAttribute("data-src");
}
}
}
function changeDataoriginal(data, tag) {
for (var i = 0; i < data.length; i++) {
data[i].setAttribute("data-src", data[i].getAttribute("data-original"));
if (data[i].hasAttribute("data-src")) {
datasrc = data[i].getAttribute("data-src");
datasrc = datasrc.replace("11111", '22222');
datasrc = datasrc.replace("11111", '22222');
data[i].setAttribute("src", datasrc);
data[i].removeAttribute("data-src");
}
}
}
代码的目的是把原来data-src显示为src 把11111替换为22222 这段代码测试在百度 Chrome 都测试OK 就是IE8以下貌似都不行至于IE9以上浏览器没试~~请大神帮忙改的兼容IE8 IE7 至于IE6就无所谓了!!感激不尽!! 展开
1个回答
2016-07-26 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
1. 在IE7或更早的版本上polyfill JSON.stringify。你可以使用JSON2或JSON3来polyfills。
<!doctype html>
<html xmlns:ng="http://angularjs.org">
<head>
<!--[if lte IE 7]>
<script src="/path/to/json2.js"></script>
<![endif]-->
</head>
<body>
...
</body>
</html>
2. 在连接处将id="ng-app"添加到根元素,使用ng-app属性
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
...
</html>
3. 你不能使用自定义的元素标记,像<ng:view>(使用属性版本<div ng-view>来代替),或
4. 如果你必需要用自定义元素标记,然后你必须采取以下步骤以确保IE8及之前版本都能用:
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
<head>
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
</script>
<![endif]-->
</head>
<body>
...
</body>
</html>
5. 使用ng-style标记来替代style="{{ someCss }}"。后续的版本能够在Chrome和Firefox下工作但不能在IE版本<=11下工作(在撰写本文时的最新版本)。
<!doctype html>
<html xmlns:ng="http://angularjs.org">
<head>
<!--[if lte IE 7]>
<script src="/path/to/json2.js"></script>
<![endif]-->
</head>
<body>
...
</body>
</html>
2. 在连接处将id="ng-app"添加到根元素,使用ng-app属性
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
...
</html>
3. 你不能使用自定义的元素标记,像<ng:view>(使用属性版本<div ng-view>来代替),或
4. 如果你必需要用自定义元素标记,然后你必须采取以下步骤以确保IE8及之前版本都能用:
<!doctype html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="optionalModuleName">
<head>
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
</script>
<![endif]-->
</head>
<body>
...
</body>
</html>
5. 使用ng-style标记来替代style="{{ someCss }}"。后续的版本能够在Chrome和Firefox下工作但不能在IE版本<=11下工作(在撰写本文时的最新版本)。
追问
大神您的意思是说在头部设置这段代码就可以了么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询