我在使用Protractor时遇到了一些麻烦.我有一个非常奇怪的ui-router状态,很难从其他元素开始处理页面.有没有办法让量角器等到元素最终出现在DOM中?不可见/显示,但实际创建?我一直在尝试使用等待元素,但显然无法选择.
browser.driver.wait(function () {
return elem.isDisplayed();
});
Run Code Online (Sandbox Code Playgroud) 目前,我已经创建了一个附加到表单的指令.任何时候表单都是脏的,我有一个window.onbeforeunload尝试离开时弹出的确认模式.现在我正在尝试编写一个jasmine测试,以确保在刷新/ url更改时调用window.onbeforeunload.
var app = angular.directive('app');
app.directive('dialog',[$window, function() {
return {
restrict: 'A',
require: 'form',
link: function(scope, element, attrs, formCtrl) {
$window.onbeforeunload = function () {
if(formCtrl.$dirty) {
return 'Are you sure you want to leave this form';
}
};
}
};
}]);
Run Code Online (Sandbox Code Playgroud)
茉莉花规格的一部分
beforeEach(inject(function(_$rootScope_,_$state_,_$window_) {
$rootScope = _$rootScope_;
$state = _$state_;
$window = _$window_;
spyOn($window, 'onbeforeunload')
}));
describe('Listen for window prompt', function () {
it('should be called on url/refresh change', function () {
window.location.reload();
expect($window.onbeforeunload).toHaveBeenCalled();
});
});
Run Code Online (Sandbox Code Playgroud) 我目前有一个带有手机ui-mask的输入.如果输入的值不是掩码的全长,则清除输入.有没有办法设置ui-mask,以便在点击或失去焦点时不清除输入?
<input ui-mask="(999) 999-9999" type="text"/>
Run Code Online (Sandbox Code Playgroud) 在尝试在IE上显示pdf blob时,我收到Access被拒绝错误.
html文件
<object ng-show="{{content}}" data="{{content}}" type="application/pdf"></object>
Run Code Online (Sandbox Code Playgroud)
js文件
$http.post('/api',{}, { responseType: 'arraybuffer' })
.success(function (response) {
var file = new Blob([response], { type: 'application/pdf' });
var fileUrl = window.URL.createObjectURL(file);
$scope.content = $sce.trustAsResourceUrl(fileUrl);
});
Run Code Online (Sandbox Code Playgroud)
使用embed时,acrobat pdf viewer无法查看临时文件.
目前使用FileReader打开并查看适用于Chrome的PDF.但是,当在Safari上打开pdf并单击下载按钮时,没有任何反应.
var reader = new FileReader();
reader.onloadend = function(e) {
$window.location.href = reader.result;
}
reader.readAsDataURL(file);
Run Code Online (Sandbox Code Playgroud)