ユーザーがページを更新または再読み込みしようとするたびにダイアログボックスを開く方法を教えてください。モデルやダイアログボックスを開く方法は?
私はリフレッシュのkeypress/keydown/beforeload/beforeunloadを差し引くよう提案している多くのリンクを試しましたが、何とかうまく機能しませんでした。
こちらは、試してみました。私のシナリオで。
var App = angular.module('App', ['ngRoute']);
// configure our routes
App.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl : 'home.html',
controller : 'mainController'
})
.when('/about', {
templateUrl : 'about.html',
controller : 'aboutController'
})
.when('/contact', {
templateUrl : 'contact.html',
controller : 'contactController'
});
});
App.controller('mainController', function($scope) {
//but not here if the user refresh the page
$scope.message = 'MainCtrl!';
});
App.controller('aboutController', function($scope) {
$scope.message = 'aboutController';
// if this is the current controller and page being refresh by the user activity
// prompt the user to save before you reload...
});
App.controller('contactController', function($scope) {
$scope.message = 'contactController';
// if this is the current controller and page being refresh by the user activity
// prompt the user to save before you reload...
});
in index.html
--------------------
<script>
//it is working . it is invoking in each page. But needs to invoke at certain controller means it should check
// it is current/exact page where user has to save data before reloading
jQuery(function() {
// to check and get page refreshed & reload
var myEvent = window.attachEvent || window.addEventListener;
var chkevent = window.attachEvent ? 'onbeforeunload' : 'beforeunload';
myEvent(chkevent, function (e) {
var confirmationMessage = ' ';
(e || window.event).returnValue = confirmationMessage;
return confirmationMessage;
});
if (myEvent) {
localStorage.clear();
// redirect to
$state.go('gotohome');
}
});
</script>
誰でも私にすべてのタイプのブラウザで機能する機能的な例を教えていただけますか?
私にとってはとても重要なので、とにかくできません。
ありがとうございました。
あなたがコードとして試したものを言っていると私たちはコードのお手伝いをすることができます。 –
@artgb、私は編集し、私のシナリオを与えました。 – uday214125