gpt4 book ai didi

javascript - IE8 中的 AngularJS 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:43 25 4
gpt4 key购买 nike

我正在使用一个新的 Angular 应用程序,需要使其向后兼容 IE8。从它在我的路由信息​​中加载的样子来看,加载模板(到一个点)但在 concole 日志中我看到以下错误。

TypeError: Object doesn't support this property or method <div
class=ng-scope ng-view>

这是我的索引 html 页面的样子:

<!DOCTYPE html>
<html id="ng-app" ng-app="app">
<head>
<!--Add dependencies-->
<script src="jquery.min.js"></script>
<link rel="stylesheet" src="bootstrap.min.css" />
<script src="angular.min.js"></script>
<script src="angular-route.js"></script>
<script src="ui-bootstrap.js"></script>
<script type="text/javascript">
document.createElement('header');
document.createElement('nav');
document.createElement('menu');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
</script>
</head>
<body>
<div id="wrapper">
<header class="header header-fixed">
<section class="navbar navbar-inverse docs-navbar-primary">
<div class="container">
<div class="row">
<div class="col-md-7" style="color:white; margin-top:14px;">Thinflash: Fullscreen Demo</div>
</div>
</div>
</section>
</header>
<section role="main" class="container main-body">
<div ng-view></div>
</section>
<!--Add AngularJs Files-->
<script src="swfObject.js"></script>
<script src="app.js"></script>
<script src="appControllers.js"></script>
<script src="thinflash.js"></script>
</div>
</body>
</html>

模板.html:

<div ng-controller="thinflash.controllers.playback">
<div ng-controller="app.controllers.fullscreen">
<div class="mainWrapper" id="stageWrapper">
<label>SWF Object Display </label>
<div class="swfWrapper" style="width:320px; height:240px;" id="swfStage">
<div class="tf-container" tf-swf tf-interface="flashInterface" tf-src="thin.swf" tf-min-version="11.0.0"></div>
</div>
</div>

<div class="col-md-5">
<form role="form">
<!-- Video Playback Controls -->
<div class="row">
<div class="form-group col-md-7">
<label>Select Preloaded Video:</label>
<select class="form-control" ng-model="myVideo" ng-init="myVideo = videos[2]" ng-change="changeVideo(myVideo)" ng-options="v for v in videos"><option></option></select>
</div>
</div>

<div class="row">
<div class="form-group col-md-7">
<button type="button" class="btn btn-primary" ng-click="pausePlaybackToggle()">Pause</button>
<button type="button" class="btn btn-primary" ng-click="playVideo()">Play</button>
</div>
</div>

<div class="row">
<div class="form-group col-md-7">
<label>Volume Control:</label>
<input style="width:50%;" type="range" id="slider" min="1" max="100" step="1" ng-model="volume" ng-change="changeVolume()">
</div>
</div>

<div class="row">
<div class="form-group col-md-8">
<label>Size Controls:</label><br/>
<button type="button" class="btn btn-primary" ng-click="changeVideoSize(1)">Small</button>
<button type="button" class="btn btn-primary" ng-click="changeVideoSize(2)">Medium</button>
<button type="button" class="btn btn-primary" ng-click="changeVideoSize(3)">Large</button>
</div>
</div>
</form>
</div>
</div>
</div>

再次,当应用程序在 IE8 中加载时,模板似乎加载了(或也开始了......但我得到了这个错误)

最佳答案

使用类似html5shiv 的东西为IE8 添加html5 支持。或者这个小片段:

<script type="text/javascript">
document.createElement('header');
document.createElement('nav');
document.createElement('menu');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
</script>

编辑

在 IE 上修复“对象不支持此方法或属性”可能是一个野兽,因为它没有告诉您任何信息。它不会告诉您什么对象,它不会告诉您什么属性,它不会告诉您什么方法,最糟糕的是它不会告诉您< strong>where 这实际上发生了。看到图案了吗?实际上它在说; 某处发生了一些不好的事情,去看看。这就是为什么每个人都喜欢 IE 的原因之一。

添加上面的代码片段可能已经解决了一个问题,但随后又出现了另一个问题,产生了同样精彩的错误消息。通过张贴每个新的涉及的 html 片段来修复错误消息的这种面包屑冒险可能需要很长时间,并且应该与 IE 的帮助台讨论。 他们有一个答录机告诉你升级到他们新的其他问题的蹩脚盒子。通过 Stackoverflow 解决这个问题就像用水枪在黑暗中、蒙着眼睛和喝醉后从天上射卫星一样。

您可能会考虑的其他一些事项:

  • 将代码段移至任何其他脚本的上方
  • 用 html5shiv 替换代码段
  • 降级 AngularJS 的包含版本。版本 1.1.5 似乎适用于 IE7。 1.3 版完全不支持 IE8。
  • 查看 Angular IE compatibility 的指南
  • 开始注释代码 (javascript/html) 以更好地隔离导致问题的部分。请记住,多个问题会在 IE 中生成相同的错误消息。
  • 升级到他们新的其他问题的糟糕盒子。

关于javascript - IE8 中的 AngularJS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com