J'utilise le code ci-dessous pour un exemple de menu.
<html>
<head>
<title>Tree Demo</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.jstree.js"></script>
<script type="text/javascript">
$(document).ready(function() {
/* $("#main").jstree({
"themes" : {
"theme" : "default",
"dots" : false,
"icons" : false
},
"plugins" : [ "themes", "json_data", "ui"],
"json_data" : {
"ajax" : {
"url" : "jsondata.json",
"data" : function (n) {
return { id : n.attr ? n.attr("id") : 0 };
}
}
}
});
$("#main").bind("open_node.jstree", function (e, data) {
// data.inst is the instance which triggered this event
console.log(data);
console.log($.data(data.rslt.obj[0],"folder_name"));
});
$("#main").bind("select_node.jstree", function (e, data) {
// data.inst is the instance which triggered this event
console.log(data);
console.log($.data(data.rslt.obj[0],"folder_name"));
}); */
$("#main1").jstree({
"themes" : {
"theme" : "default",
"dots" : false,
"icons" : false
},
"plugins" : [ "themes", "html_data"]
});
});
</script>
</head>
<body>
<div id="main1">
<ul>
<li><a href="javascript:void(0)">Home Folder</a>
<ul>
<li><a href="javascript:void(0)">Sub Folder1</a></li>
<li><a href="javascript:void(0)">Sub Folder2</a></li>
</ul></li>
<li><a href="javascript:void(0)">Shared Folders</a>
<ul>
<li><a href="javascript:void(0)">Shared Folder1</a></li>
<li><a href="javascript:void(0)">Shared Folder2</a></li>
</ul></li>
</ul>
</div>
<div id="main">
</div>
</body>
</html>
quand je lance le code ci-dessus dans IE navigateurs, il apparaît en haut de la page (sous la barre d’URL)) comme
"Pour protéger votre sécurité, Internet Explorer a interdit à cette page Web d'exécuter des scripts ou des contrôles Activex pouvant accéder à votre ordinateur. Cliquez sur pour afficher les options .."
quand je clique avec le bouton droit sur le contenu bloqué autorisé, il s'exécute. Mais je veux sans ce message contextuel, j'ai besoin d'exécuter le code ... comment puis-je l'exécuter automatiquement? ...
Je pense que cela n'apparaîtra que lorsque vous exécuterez la page localement dans ce cas particulier, c'est-à-dire que vous ne devriez pas le voir lorsque vous chargez la page depuis un serveur Web.
Cependant si vous avez la permission de le faire, vous pouvez désactiver l’Invite pour Internet Explorer en suivant Outils (menu) → Options Internet → Sécurité (onglet) → Personnaliser le niveau (bouton) → et Désactiver Invite automatiquement les contrôles ActiveX .
Ceci n'affectera évidemment que votre navigateur.
Il existe également une solution de code. Je l'ai vu dans une vidéo de formation. Vous pouvez ajouter une ligne pour dire à IE que le fichier local est sécurisé. J'ai testé sur IE8 et cela fonctionne. Cette ligne est <!-- saved from url=(0014)about:internet -->
Pour plus de détails, veuillez vous référer à https://msdn.Microsoft.com/en-us/library/ms537628 (v = vs.85) .aspx
<!DOCTYPE html>
<!-- saved from url=(0014)about:internet -->
<html lang="en">
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function () {
alert('hi');
});
</script>
</head>
<body>
</body>
</html>
Vous avez deux options:
Utilisez une marque du Web. Cela permettra à une seule page HTML de se charger. Voir ici pour plus de détails. Pour ce faire, ajoutez ce qui suit à votre page Web sous le doctype et au-dessus de la balise html:
<! - saved from url = (0014) about: internet ->
Désactiver cette fonctionnalité. Pour ce faire, allez dans Options Internet-> Avancé-> Sécurité-> Autoriser le contenu actif ... Fermez ensuite IE. Lorsque vous redémarrez Internet Explorer, cela ne vous donnera pas cette erreur.
Si vous voulez utiliser le
<!-- saved from url=(0014)about:internet -->
ou
<!-- saved from url=(0016)http://localhost -->
assurez-vous que le fichier HTML est enregistré au format windows/dos avec "\ r\n" comme sauts de ligne après l'instruction. Sinon, je ne pourrais pas le faire fonctionner.
Procédure à suivre pour configurer IE afin de toujours autoriser le contenu bloqué:
Tools
, puis le menu Options...
Advanced tab...
"Allow active content to run in files on My Computer"
.Le contenu bloqué est une fonctionnalité de sécurité de Windows XP Service Pack 2. Si vous n'avez pas installé le SP2, vous ne verrez jamais ce message.
De: Comment autoriser le contenu bloqué sur Internet Explorer
Autrement, tant que les autorisations ne sont pas accordées, le bon vieux <noscript>
tags fonctionne. Vous pouvez couvrir la page en css et leur dire ce qui ne va pas, ... sans utiliser javascript ofcourse.
C'est quelque chose que je ne suis pas sûr que vous puissiez modifier le code HTML de la page Web elle-même. Il s'agit d'un paramètre client qui indique à son navigateur s'il souhaite une sécurité élevée. La plupart des autres navigateurs ne le feront pas, mais de ce que je sais, il est impossible de s’arrêter à moins que l’utilisateur désactive la fonctionnalité.
Fait-il toujours ce que vous voulez faire après avoir cliqué sur "Autoriser"? Si c'est le cas, cela ne devrait pas poser trop de problème