如果一个网页开头有什么区别
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Run Code Online (Sandbox Code Playgroud)
如果页面以.开头
<!DOCTYPE html>
<html>
<head>
<!-- without X-UA-Compatible meta -->
Run Code Online (Sandbox Code Playgroud)
如果没有区别,我想我可以忽略X-UA-Compatible元头,因为我只想在所有IE版本中以大多数标准模式呈现它.
我收到angularjs [$ rootScope:inprog]错误.
Error: [$rootScope:inprog] http://errors.angularjs.org/1.2.7/$rootScope/inprog?p0=%24digest.
这是函数调用
Members.get({}, function (response) { // success
$scope.family_mem = response.data;
}, function (error) { // ajax loading error
Data.errorMsg(); // display error notification
});
Run Code Online (Sandbox Code Playgroud)
在控制台我通过php控制器功能获得结果.但是没有更新$scope.family_mem而是转到错误部分.这是指令
myApp.directive('mySelect', function() {
return{
restrict: 'A',
link: function(scope, element){
$(element).select2();
}
};
});
Run Code Online (Sandbox Code Playgroud) 我试图从我的指令中获取角度的子元素作为对象,所以我有
link: function(scope,elem,attrs){
var resizeBar = elem.querySelector('.resize-bar');
当我输出时elem,我有一个html对象.但是,我得到一个错误`对象[对象对象]没有方法'querySelector'.
我可以使用元素
var resizeBar = elem.children().children()[1];
但是输出为
<div class="resize-bar">Move</div>
Run Code Online (Sandbox Code Playgroud)
这不是我需要的,我需要resize-bar的html对象.
有人知道一个很好的方法来做角度吗?
elem的控制台输出是
: div.favor-layout.favor-layout-sideways accessKey: "" align: "" attributes: NamedNodeMap baseURI: "file:///C:/Users/pete/projects/favor/favor-layout/index.html" childElementCount: 1 childNodes: NodeList[2] children: HTMLCollection[1] classList: DOMTokenList className: "favor-layout favor-layout-sideways" clientHeight: 200 clientLeft: 0 clientTop: 0 clientWidth: 913 contentEditable: "inherit" dataset: DOMStringMap dir: "" draggable: false firstChild: div.favor-layout-container firstElementChild: div.favor-layout-container hidden: false id: "" innerHTML: "? ? This gets wrapped.? ? move??" innerText: "This gets wrapped.?move" isContentEditable: false …
关于此错误的其他帖子总是包括有人试图在不使用安全申请的情况下申请$,但在我的示例中并非如此.我的功能是成功返回我从API请求的数据,但我无法清除这个错误,这让我疯狂.每次在$ http函数中调用.success之前,我都会在控制台中看到"错误:[$ rootScope:inprog] $ digest已在进行中".以下是我的控制器和服务.谢谢!
这是我的服务,包括使用有效负载发布$ http呼叫的功能:
Services.service( 'CoolService', ['$q', '$rootScope', '$http', 'Auth', function($q, $rootScope, $http, Auth){
var service = {
create: function(payload){
var deferred = $q.defer();
$http({
'url': '/api/endpoint/',
'dataType':'json',
'method': 'POST',
data: payload
}).success(function(data,status, headers, config){
deferred.resolve(data);
})
.error(function(data, status, headers, config){
deferred.reject("Error in request.");
});
return deferred.promise;
}
}
return service;
}]);
Run Code Online (Sandbox Code Playgroud)
这是我的控制器调用服务:
controllers.controller('CoolCtrl',['$scope', '$modal', '$log','CoolService', function($scope, $modal, $log, CoolService){
getCoolData = function (input_data) {
CoolService.create(input_data).then(function(results){
new_cool = results.results;
}, function(error){
console.log("there was an error getting new …Run Code Online (Sandbox Code Playgroud) angularjs angularjs-service angularjs-controller angularjs-http
我正在尝试更新作为$ scope一部分的页面上的一些文本.但我一直收到这个错误:
Error: [$rootScope:inprog] [http://errors.angularjs.org/1.2.15/$rootScope/inprog?p0=%24apply][1]
at Error (native)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:6:450
at m (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:101:443)
at h.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:108:301)
at h.$scope.changeLang (http://treenovum.es/xlsmedical/js/medical-app.js:80:16)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:169:382
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:186:390
at h.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:108:40)
at h.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:108:318)
at HTMLAnchorElement.<anonymous> (https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js:186:372)
Run Code Online (Sandbox Code Playgroud)
显然我做错了什么.:)关于如何解决这个问题的任何想法?我希望页面更新到范围中的新变量.
这是我用于更新的代码:
medicalApp.controller('MainCtrl', function($scope, $cookies, getTranslation) {
getTranslation.get(function(data){
$scope.translation = data;
});
$scope.changeLang = function (lang) {
console.log(lang);
$cookies.lang = lang;
$scope.$apply(function(){
getTranslation.get(function(data){
$scope.translation = data;
console.log(JSON.stringify($scope.translation));
});
});
};
});
Run Code Online (Sandbox Code Playgroud)
html:
<body ng-controller="MainCtrl">
...
<div class="header-lang col-xs-4">
<p>
<a href="#" ng-click="changeLang('de')">DE</a> |
<a href="#" ng-click="changeLang('fr')">FR</a></p>
<div>{{ translation.text …Run Code Online (Sandbox Code Playgroud) 我在FF或Chrome中没有任何问题,但是IE9在这个方法上丢失了一个错误.我以为我可以使用它,因为它已被证明在这里得到支持:
http://www.quirksmode.org/dom/w3c_core.html
但是,实际情况似乎并非如此.话虽这么说,我可以用它代替什么?
编辑:这是它失败的确切行:
var maximize_buttons = document.querySelectorAll(".maximize");
Run Code Online (Sandbox Code Playgroud)
这是我第一次尝试使用querySelectorAll().浏览器版本号为9.0.8112.16421
编辑(再次):我已在两台独立的计算机上验证了此错误.但是,他们分享了一个共同点 - 他们都在VMware上运行Windows 7.这有关系吗?
浏览器模式是IE9,但默认情况下文档模式设置为怪癖.将其更改为Internet Explorer 9标准解决了问题,但如果怪癖是默认的,我仍然需要让它工作.
javascript internet-explorer selectors-api internet-explorer-9
我在IE 10中遇到了一个奇怪的问题.许多jQuery脚本在IE 8,9,Chrome,firefox和safari上工作正常但在IE 10上坏了.只有当一些用户切换到IE 10时才会出现问题.
我发现添加的最简单的解决方案
<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)
在<head></head>.
问题是网站有很多页面,大多数页面没有继承的母版页.那么有没有办法通过javascript添加这个,因为我们在所有网页中都有一个共同的引用js.
我为此搜索并尝试了很多东西,我想也许我只是做错了.
我有一个单页面应用程序,它具有非常相似的DOM部分,仅通过从服务提供给它们的数据来区分.每个DOM部分都有不同的Web服务.
我的HTML看起来像这样
<div section="foo">
<ul>
<li ng-repeat="item in collection">{{item.name}}</li>
</ul>
</div>
<div section="bar">
<ul>
<li ng-repeat="item in collection">{{item.cost}}</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
在我的真实例子中,差异更为显着,所以我不能仅仅将"成本"改为"名称"并让它们相同.
我有一个看起来像这样的指令:
angular.module("App").directive("section", ["BaseProvider", function(provider) {
return {
restrict: "A",
scope: {},
link: function($scope, element, attrs) {
provider.query(attrs.section).success(function(response) {
$scope.collection = response; // ** pay attention to this line **
});
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
所以,它调用BaseProvider的查询方法,传入DOM元素的section属性.所以,在我的例子中,"foo"或"bar".
BaseProvider看起来像这样:
angular.module("App").factory("BaseProvider", ["$http", function($http) {
var urls = {
foo: "/something/foo.v1.json",
bar: "/something/bar.v2.json"
};
return {
query: function(base) {
return $http.get(urls[base]);
}
};
}]); …Run Code Online (Sandbox Code Playgroud) angularjs ×5
javascript ×5
browser ×2
angular-http ×1
asp.net ×1
codeigniter ×1
html ×1
php ×1