Différences entre les versions de « Tutorial Plugin : 3 - Commandes de Maxthon »

De Wiki Francophone de Maxthon
Aller à la navigation Aller à la recherche
m
 
(15 versions intermédiaires par un autre utilisateur non affichées)
Ligne 8 : Ligne 8 :




*'''Pour les plugins de script''', vous devez utiliser '''%max_security_id''' dans le fichier de script, tel que ''''var security_id=%max_security_id'''', alors vous pourrez utiliser ''''security_id'''' dans votre script.<br /><b>NOTE :</b> Les pages Web sont capables d'obtenir cette variable '''security_id''' si vous lancez un plugin sur une page Web et si la page Web connaît la variable que vous stockez dans le '''max_security_id'''. Vous pouvez éviter un ''litige de sécurité'' si vous mettez tout votre code dans une fonction anonyme. [Vous trouverez plus d'informations sur les fonctions anonymes dans la 4ème Partie].
*'''Pour les plugins de script''', vous devez utiliser '''%max_security_id''' dans le fichier de script, tels que ''''var security_id=%max_security_id'''', alors vous pourrez utiliser ''''security_id'''' dans votre script.<br /><b>NOTE :</b> Les pages Web sont capables d'obtenir cette variable '''security_id''' si vous lancez un plugin sur une page Web et si la page Web connaît la variable que vous stockez dans le '''max_security_id'''. Vous pouvez éviter un ''litige de sécurité'' si vous mettez tout votre code dans une fonction anonyme. [Vous trouverez plus d'informations sur les fonctions anonymes dans la 4ème Partie].


*'''Pour les plugins de barre latérale''', un fichier nommé '''&quot;max.src&quot;''' sera créé dans le dossier de votre plugin avec la variable '''max_security_id''' comme étant le '''security_id'''. Vous pouvez inclure ce fichier dans votre page html pour obtenir l'"'''id'''" ('''identifiant''').<br /> Comme ceci : <pre> <lang="html4strict">&lt;script language="JavaScript" type="text/JavaScript" src="max.src"&gt;&lt;/script&gt;</pre>
*'''Pour les plugins de barre latérale''', un fichier nommé '''&quot;max.src&quot;''' sera créé dans le dossier de votre plugin avec la variable '''max_security_id''' comme étant le '''security_id'''. Vous pouvez inclure ce fichier dans votre page html pour obtenir l'"'''id'''" ('''identifiant''').
 
 
Comme ceci : <pre><lang="html4strict">&lt;script language="JavaScript" type="text/JavaScript"
src="max.src"&gt;&lt;/script&gt;</pre>


Ce code devrait être placé à l'intérieur de la balise &lt;head&gt;.
Ce code devrait être placé à l'intérieur de la balise &lt;head&gt;.
Ligne 18 : Ligne 22 :




#<B>readFile( security_id, plugin_name, file_name)</B> 'plugin_name' fait référence au nom du plugin défini dans le fichier plugin.ini et 'file_name' indique le nom du fichier qu'il veut lire (situé dans le dossier plugin). Ce nom de fichier peut comporter un chemin, tel que 'data\settings.ini' pour lire le fichier 'settings.ini' dans le dossier 'data'.<br/> Le nom de fichier peut également comporter '..' pour lire le dossier parent, par exemple : '..\..\config\plugins.ini' pour lire le fichier plugin.ini dans le sous-dossier 'Maxthon\config'. Vous ne pouvez pas utiliser '..' plus de deux fois, ainsi vous ne pourrez pas lire/écrire des fichiers en dehors du dossier où Maxthon est situé (pour une meilleure sécurité).<br /> La commande retournera le contenu du fichier. Si le plugin n'est pas activé, ou si le nom du plugin n'est pas correct ou n'est pas trouvé, la commande échouera et retournera "null".<br />Cette commande ne peut que lire des fichiers texte au format ANSI.<br /><pre>Exemple : var text = external.readFile(%max_security_id,
*<B>readFile( security_id, plugin_name, file_name)</B> 'plugin_name' fait référence au nom du plugin défini dans le fichier plugin.ini et 'file_name' indique le nom du fichier qu'il veut lire (situé dans le dossier plugin). Ce nom de fichier peut comporter un chemin, tel que 'data\settings.ini' pour lire le fichier 'settings.ini' dans le dossier 'data'.<br/> Le nom de fichier peut également comporter '..' pour lire le dossier parent, par exemple : '..\..\config\plugins.ini' pour lire le fichier plugin.ini dans le sous-dossier 'Maxthon\config'. Vous ne pouvez pas utiliser '..' plus de deux fois, ainsi vous ne pourrez pas lire/écrire des fichiers en dehors du dossier où Maxthon est situé (pour une meilleure sécurité).<br /> La commande retournera le contenu du fichier. Si le plugin n'est pas activé, ou si le nom du plugin n'est pas correct ou n'est pas trouvé, la commande échouera et retournera "null".<br />Cette commande ne peut que lire des fichiers texte au format ANSI.
&quot;Test plugin&quot;,&quot;export.txt&quot;)</pre>
 
 
#<B>writeFile( security_id, plugin_name, file_name, content )</B> Cette fonction ne peut être utilisée que dans un script de plugin, pour des raisons de sécurité.<br /> 'plugin_name' se réfère au nom du plugin défini dans plugin.ini et 'file_name' indique le nom du fichier qui doit être écrit. 'content' est le contenu qui sera écrit dans le fichier. Si le plugin n'est pas capable d'écrire ou que le nom du plugin et erroné ou non trouvé, la fonction se terminera sur une erreur et retournera "null".<br /> Cette commande peut seulement écrire des fichiers au format texte. Aussi, la commande ajoute un caractère NULL à la fin du fichier. Celà n'a pas beaucoup d'importance, mais rend impossible d'écrire un fichier au format XML. Vous devez utiliser pour cela FileSystemObject (un composant ActiveX).<br /><font color="#FF0000">Notez</font> : Le fichier sera écrasé à partir du début.<br /> Pour ajouter du contenu à un fichier, lire la donnée du premier fichier, puis ajouter la nouvelle donnée et écrire la donnée.<br /><pre>Exemple : external.writeFile(%max_security_id,"Test plugin","setting.ini","username=abc\npass=qwrxcv"); </pre>
 
 
<li><B>m2_readIni( security_id, plugin_name , file_name , section_name , key , default_value)</B>
 
This command will read the key in the ini-file specified by file_name in the plugin folder.
It will return the default_value if the key is not available or if the file_name or plugin_name are wrong.
<pre>path = external.m2_readIni(%max_security_id,
&quot;testplugin&quot;,&quot;settings.ini&quot;,&quot;general&quot;,&quot;save&quot;,&quot;0&quot;)</pre>
</li>
 
<li><B>m2_readIni( security_id, plugin_name , file_name , section_name , key , default_value)</B> Cette fonction lit la clé utilisant la 'default_value' dans le fichier ini spécifié par 'file_name' dans le répertoire du plugin.
 
<pre>Exemple: path = external.m2_readIni(%max_security_id,"testplugin","settings.ini","general","save","0"); </pre>
</li>
 
<li><B>m2_writeIni( security_id , plugin_name , file_name , section_name , key , value )</B>
 
This command will write the key with 'value' to the ini file specified by file_name.
<pre>external.m2_writeIni(%max_security_id,&quot;testplug&quot;,
&quot;settings.ini&quot;,&quot;general&quot;,&quot;save&quot;,&quot;1&quot;)</pre>
</li>
 
 
<li><B>m2_writeIni( security_id , plugin_name , file_name , section_name , key , value )</B>
Cette fonction écrit la clé avec la valeur dans le fichier ini spécifié par file_name.
 
<pre>Exemple: external.m2_writeIni(%max_security_id,"testplugin","settings.ini","general","save","true"); </pre>
</li>
 
 
 
<li><B>tab_count</B>
 
This command will return the total number of open tabs, just like 'Number of tabs' in the statusbar.
<pre>var total_tab = external.tab_count</pre>
</li>
 
<li><B>tab_count</B>
 
Cette commande retourne le nombre total d'onglets sous la forme d'un entier, comme le "Nombre d'onglets" dans la barre d'état.
 
<pre>Exemple: var total_tab = external.tab_count</pre>
</li>
 
 
 
<li><B>activate_tab( security_id , index )</B>
 
This command will activate tab number 'index' in Maxthon. ('index' is starting from zero)
<pre>external.activate_tab(%max_security_id,2)</pre>
</li>
 
<li><B>activate_tab( security_id , index )</B>
Cette fonction active l'onglet numéro 'index' de Maxthon.
 
<pre>Exemple: external.activate_tab(%max_security_id,2) </pre>
</li>
 
 
 
<li><B>close_tab( security_id , index )</B>
 
This command will close tab number 'index' in Maxthon. ('index' is starting from zero)
<pre>external.close_tab(%max_security_id,2)</pre>
</li>
 
<li><B>close_tab( security_id , index )</B>
Cette commande fermera l'onglet numéroté selon son 'index' dans Maxthon ('index' démarre à zéro).
<pre>external.close_tab(%max_security_id,2)</pre>
</li>
 
<li><B>get_tab( security_id , index )</B>
 
This command will return a web page object of tab number 'index'. ('index' is starting from zero)
You can use this if you need to get information about this tab, like the title or URL.
<pre>var doc = external.get_tab(%max_security_id,2).document</pre>
</li>
 
<li><B>get_tab( security_id , index )</B>
Cette fonction retourne une page web objet de l'onglet numéro 'index' ('index' commence à zéro). Vous pouvez l'utiliser si vous avez besoin d'information sur cet onglet, comme le titre ou l'adresse URL.
 
<pre>Exemple: external.get_tab(%max_security_id,2).document </pre>
</li>
 
 
<li><B> cur_sel</B>
 
This command will return the number of the current active tab (starting from zero).
<pre>var cur_tab = external.cur_sel</pre>
</li>


<li><B> cur_sel</B>
<pre>var text = external.readFile(%max_security_id,"Test plugin",
Cette fonction retourne le numéro (en démarrant de zéro) de l'onglet courant sous la forme d'un entier.
"export.txt");</pre>


<pre>Exemple: var cur_tab = external.cur_sel; </pre>
</LI>


<li><B>m2_plugin_folder( security_id , plugin_name )</B>
*<B>writeFile( security_id, plugin_name, file_name, content )</B> Cette fonction ne peut être utilisée que dans un script de plugin, pour des raisons de sécurité.<br /> 'plugin_name' se réfère au nom du plugin défini dans plugin.ini et 'file_name' indique le nom du fichier qui doit être écrit. 'content' est le contenu qui sera écrit dans le fichier. Si le plugin n'est pas capable d'écrire ou que le nom du plugin et erroné ou non trouvé, la fonction se terminera sur une erreur et retournera "null".<br /> Cette commande peut seulement écrire des fichiers au format texte. Aussi, la commande ajoute un caractère NULL à la fin du fichier. Celà n'a pas beaucoup d'importance, mais rend impossible d'écrire un fichier au format XML. Vous devez utiliser pour cela FileSystemObject (un composant ActiveX).<br /><font color="#FF0000">Notez</font> : Le fichier sera écrasé à partir du début.<br /> Pour ajouter du contenu à un fichier, lire la donnée du premier fichier, puis ajouter la nouvelle donnée et écrire la donnée.


This command will return the local path of the plugin.
<pre>external.writeFile(%max_security_id,"Test plugin","setting.ini",
You can use this command if you add local images to a webpage or if you add a local stylesheet to a webpage.
"username=abc\npass=qwrxcv");</pre>
<pre>var folder = external.m2_plugin_folder(%max_security_id,
&quot;ViewSource!&quot;)</pre>
This will return for example: "C:\Program Files\Maxthon\Plugin\ViewSource!\"
</li>


<li><B>m2_plugin_folder( security_id , plugin_name )</B>
Cette fonction retourne le répertoire local du plugin. Vous pouvez utiliser cette commande si vous ajoutez des images locales ou une page web ou si vous ajoutez une feuille de style à une page web.


<pre>Exemple: var folder = external.m2_plugin_folder(%max_security_id,"ViewSource!");
*<B>m2_readIni( security_id, plugin_name , file_name , section_name , key , default_value)</B> Cette fonction lira la clé dans le fichier ini spécifié par 'file_name' dans le répertoire du plugin. Elle retournera 'default_value' si la clé n'est pas disponible ou si 'file_name' ou 'plugin_name' sont erronés.
Ceci retourne par exemple : "C:\Program Files\Maxthon\Plugin\ViewSource!\" </pre>
</li>


<pre>path = external.m2_readIni(%max_security_id,"testplugin","settings.ini",
"general","save","0");</pre>


<li><B>m2_run_cmd( security_id , id )</B>


This command will call a Maxthon command with the specified ID. The id of every command
*<B>m2_writeIni( security_id , plugin_name , file_name , section_name , key , value )</B> Cette fonction écriera la clé avec 'value' dans le fichier ini spécifié par 'file_name'.
can be found in the language file, or [http://maxthon.neo101.nl/tutorial/files/commands.txt here].
<pre>external.m2_run_cmd(%max_security_id,32772)</pre>This will open a blank page.
</li>


<li><B>m2_run_cmd( security_id , id )</B>
<pre>external.m2_writeIni(%max_security_id,"testplugin","settings.ini",
Cette fonction appelle une commande de Maxthon avec l'ID. L'id de chaque commande sera présent dans le fichier de chaque langue ou [http://maxthon.neo101.nl/tutorial/files/commands.txt ici].
"general","save","true");</pre>




<pre>Exemple: external.m2_run_cmd(%max_security_id,32772); //Ceci ouvre une page vierge. </pre>
*<B>tab_count</B> Cette commande retourne le nombre total d'onglets ouverts sous la forme d'un entier, comme le "Nombre d'onglets" dans la barre d'état.
</li>


<pre>var total_tab = external.tab_count;</pre>


<li><B>m2_callerName( security_id, plugin_name)</B>


This command tells Maxthon the call is made from a Plugin. It's usually used
*<B>activate_tab( security_id , index )</B> Cette fonction active l'onglet numéro 'index' dans Maxthon ('index' commence à 0).
before a 'window.open()' call to let maxthon bypass the popup filter.
The opened window will get the focus if you use this command.
<pre>external.m2_callerName(%max_security_id,&quot;ViewSource!&quot;)</pre>
</li>


<pre>external.activate_tab(%max_security_id,2);</pre>


<li><B>m2_callerName( security_id, plugin_name)</B>


Cette fonction indique à Maxthon que l'appel est réalisé à partir du Plugin. C'est habituellement utilisé avant un appel 'window.open()' pour que maxthon ne tienne pas compte de la fenêtre popup que le plugin ouvre.
*<B>close_tab( security_id , index )</B> Cette commande fermera l'onglet numéroté selon son 'index' dans Maxthon ('index' commence à zéro).


<pre>Exemple: external.m2_callerName(%max_security_id,&quot;ViewSource!&quot;)</pre>
<pre>external.close_tab(%max_security_id,2);</pre>
</li>


<li><B>max_showConfig( security_id, plugin_name)</B>


This command will show the plugin's configuration dialog (check part 2 of this tutorial for more info about the configuration window).
*<B>get_tab( security_id , index )</B> Cette fonction retournera un objet de page web de l'onglet numéro 'index' ('index' commence à zéro). Vous pouvez l'utiliser si vous avez besoin d'information sur cet onglet, comme le titre ou l'adresse URL.
<pre>external.max_showConfig(%max_security_id,&quot;ViewSource!&quot;)</pre>
</li>


<li><B>max_showConfig( security_id, plugin_name)</B>
<pre>external.get_tab(%max_security_id,2).document;</pre>
Cette fonction affiche la boîte de dialogue de configuration des plugins (aller dans la parti 2 de ce tutoriel pour obtenir plus d'information sur la fenêtre de configuration).


<pre>Exemple: external.max_showConfig(%max_security_id,"ViewSource!")</pre>
</Li>


*<B> cur_sel</B> Cette fonction retournera le numéro (en commençant à zéro) de l'onglet courant sous la forme d'un entier.


<li><b>max_activex(security_id, prog_id)</b>
<pre>var cur_tab = external.cur_sel;</pre>
 
This command will create the ActiveX control with the prog_id.
This ActiveX control has more rights than a normal ActiveX control, you can use it even if you have very high security settings, but it's still possible that virus scanners block the component.
You have to open a new window or else you get the alert "This command can only be called from local pages". A new window is a 'local page' for Maxthon.
<pre>
external.m2_callerName(%max_security_id,'PLUGINNAME')
window.open('about:blank','_blank')
var XML=external.get_tab(%max_security_id,
external.cur_sel).external.max_activex( %max_security_id,
&quot;Microsoft.XMLDOM&quot;)
external.get_tab(%max_security_id,external.cur_sel).close()</pre>
</li>
 
<li><b>max_activex(security_id, prog_id)</b>
 
Cette fonction crée l'ActiveX avec le prog_id.
Ce contrôle ActiveX a plus de droits qu'un contrôle ActiveX normal, vous pouvez l'utiliser même si vous avez des options de sécurités hautes, mais il est encore possible q'un antivirus bloque le composant.
Vous devez ouvrir un nouvel onglet ou alors vous obtiendrez cette alerte  :<br>
Cette commande peut seulement être appeler de pages locales. <br>Un nouvel onglet est une 'page locale' pour Maxthon.
 
<pre<Exemple: var XML=external.max_activex(%max_security_id,"Microsoft.XMLDOM")</pre>
</li>
 
 
 
<li><B>max_modelessDialog( security_id , url , option , attr , window )</B>
 
This command will open a modelessDialog. It's same as the window.ShowModelessDialog
command. The last parameter 'window' is the window object of the web page.
<pre> external.max_modelessDialog(%max_security_id,
'example.htm',window, 'status:no;help:no;
resizable:yes;scroll:yes;',window)</pre>
</li>


<li><B>max_modelessDialog( security_id , url , option , attr , window )</B>


Cette fonction ouvre un modelessDialog. C'est la même chose que la fonction window.ShowModelessDialog. Le dernire paramètre 'window' est l'objet fenêtre de la page web.
*<B>m2_plugin_folder( security_id , plugin_name )</B> Cette fonction retournera le répertoire local du plugin. Vous pouvez utiliser cette commande si vous ajoutez des images locales ou une feuille de style à une page web.


<pre>Exemple: external.max_modelessDialog(%max_security_id,'example.htm',window,'status:no;help:no;resizable:yes;scroll:yes;',window) </pre>
<pre>var folder = external.m2_plugin_folder(%max_security_id,"Weather");
Ceci retourne par exemple : "C:\Program Files\Maxthon\Plugin\Weather"</pre>


</li>


*<B>m2_run_cmd( security_id , id )</B> Cette fonction appellera une commande de Maxthon avec l'ID spécifié. L'id de chaque commande est présent dans le fichier de chaque langue ou [http://maxthon.neo101.nl/tutorial/files/commands.txt ici].


<li><b>max_language_id</b>  
<pre>external.m2_run_cmd(%max_security_id,32772); //Ouvre une page vierge.</pre>


This property returns the user's current selected Maxthon language code.
You can view all the language codes [http://www.maxthon.com/files/documents/language_id.htm here]
<pre>var language=external.max_language_id</pre>
</li>


<li><b>max_language_id</b>  
*<B>m2_callerName( security_id, plugin_name)</B> Cette fonction indique à Maxthon que l'appel est réalisé à partir d'un Plugin.<br />C'est habituellement utilisé avant un appel 'window.open()' pour que Maxthon ne tienne pas compte de la fenêtre popup que le plugin ouvre. La fenêtre ouverte conservera le focus si vous utilisez cette fonction.


Cette propriété représente la langue utilisée.
<pre>external.m2_callerName(%max_security_id,"ViewSource!");</pre>
Vous pouvez visualiser toutes les langues ici


<pre>Exemple: var language=external.max_language_id </pre>
</li>


<li><B>max_actSideBarItem( plugin_name )</B>
*<B>max_showConfig( security_id, plugin_name)</B> Cette fonction affichera la boîte de dialogue de configuration des plugins (aller dans la 2ème partie de ce tutoriel pour obtenir plus d'information sur la fenêtre de configuration).


This command will activate the sidebar plugin named as 'plugin_name'.
<pre>external.max_showConfig(%max_security_id,"ViewSource!");</pre>
<pre>external.max_actSideBarItem(&quot;Calculator++&quot)</pre>
</li>


<li><B>max_actSideBarItem( plugin_name )</b>


Cette fonction active le plugin de la barre latérale du nom de 'plugin_name'.
*<b>max_activex(security_id, prog_id)</b> Cette fonction créera un contrôle ActiveX avec le 'prog_id'.<br />Ce contrôle ActiveX a plus de droits qu'un contrôle ActiveX normal, vous pouvez l'utiliser même si vous avez des options de sécurités hautes, mais il est encore possible qu'un antivirus bloque le composant.<br />Vous devez ouvrir un nouvel onglet sous peine d'obtenir cette alerte : Cette commande ne peut seulement être appelée d'une page locale. <br />Un nouvel onglet est une 'page locale' pour Maxthon.


<pre>Exemple: external.max_actSideBarItem("Calculator++");</pre>
<pre>var XML=external.max_activex(%max_security_id,"Microsoft.XMLDOM");</pre>
</li>




<li><b>addFavorite( url , title ) , addFavorite( url )</b>
*<B>max_modelessDialog( security_id , url , option , attr , window )</B> Cette fonction ouvrira un 'modelessDialog'. C'est la même chose que la fonction 'window.ShowModelessDialog'. Le dernier paramètre 'window' est l'objet fenêtre de la page web.


This command will ask the user to add the 'url' into favorites, using 'title'
<pre>external.max_modelessDialog(%max_security_id,'example.htm',
for the name of the url (not required).
window,'status:no;help:no;resizable:yes;scroll:yes;',window);</pre>
<pre>external.addFavorite(<nowiki> &quot;http://www.google.com&quot; )
external.addFavorite( &quot;http://www.google.com&quot;,&quot;This
is google&quot;)</nowiki></pre>
</li>


<li><b>addFavorite( url , title ) , addFavorite( url )</b>


*<b>max_language_id</b> Cette propriété retourne le code de la langue en cours.<br />Vous pouvez consulter tous les codes de langue [http://www.maxthon.com/files/documents/language_id.htm ici]


Cette fonction demandera à l'utilisateur d'ajouter l''url' dans les favories, en utilisant 'title' comme nom d'url.
<pre>var language=external.max_language_id;</pre>


<pre>Exemple 1: external.addFavorite( "http://www.google.com" ); </pre>
<pre>Exemple 2: external.addFavorite( "http://www.google.com","C'est google");  </pre>
</li>


*<B>max_actSideBarItem( plugin_name )</b> Cette fonction activera le plugin de la barre latérale nommé 'plugin_name'.


<li><B>addProxy (name, address, speed, is_web_proxy)</B>
<pre>external.max_actSideBarItem("Calculator++");</pre>


This command will call Maxthon's 'add proxy' dialog to add the proxy named
as 'name' at address 'address', giving the initial speed 'speed'. The is_web_proxy
indicates whether the proxy is a web proxy or a normal proxy.
<pre>external.addProxy(&quot;My proxy&quot;,&quot;192.168.1.0:8080&quot;,1,0)</pre>
</li>


<li><B>addProxy (name, address, speed, is_web_proxy)</B>
*<b>addFavorite( url , title ) , addFavorite( url )</b> Cette fonction demandera à l'utilisateur d'ajouter l''url' dans les favoris, en utilisant 'title' comme nom d'url.
Cette fonction appellera la boîte de dialogue d'ajout d'un proxy de Maxthon pour ajouter le nom du proxy 'name' à l'adresse 'address', en indiquant comme vitesse initiale 'speed'. Le is_web_proxy indique si le proxy est un proxy web ou un proxy normal.


<pre>Exemple: external.addProxy("Mon proxy","192.168.1.0:8080",1,0); </pre>
<pre>external.addFavorite( "http://www.google.com" ); </pre>
</li>
<pre>external.addFavorite( "http://www.google.com","C'est google");</pre>






<li><B>addFilter( address ) , addFilter( address, is_pop_filter )</B>
*<B>addProxy (name, address, speed, is_web_proxy)</B> Cette fonction appellera la boîte de dialogue d'ajout d'un proxy de Maxthon pour ajouter le nom du proxy 'name' à l'adresse 'address', en indiquant comme vitesse initiale 'speed'. Le 'is_web_proxy' indique si le proxy est un proxy web ou un proxy normal.


This command will call Maxthon's 'add filter' dialog, setting the address to
<pre>external.addProxy("Mon proxy","192.168.1.0:8080",1,0);</pre>
be filtered as 'address'. 'is_pop_filter' indicates whether the default filter
type is 'pop filter'.
<pre><nowiki>external.addFilter(&quot;http://www.yahoo.com/ad*&quot;)
external.addFilter(&quot;http://www.yahoo.com/img/*&quot;, 0)</nowiki></pre>
</li>


<li><B>addFilter( address ) , addFilter( address, is_pop_filter )</B>


Cette fonction appellera la boîte de dialogue d'ajout d'un filtre de Maxthon, en indiquant l'adresse à filtrer 'address'. 'is_pop_filter' indiquant si le type de filtre par défaut est un filtre de popup.
*<B>addFilter( address ) , addFilter( address, is_pop_filter )</B> Cette fonction appellera la boîte de dialogue d'ajout d'un filtre de Maxthon, en indiquant l'adresse à filtrer 'address', 'is_pop_filter' indiquant si le type de filtre par défaut est un filtre de popup.


<pre>Exemple 1: external.addFilter("http://www.yahoo.com/ad*"); </pre>
<pre><nowiki>external.addFilter("http://www.yahoo.com/ad*");</nowiki></pre>
<pre>Exemple 2: external.addFilter("http://www.yahoo.com/img/*", 0); </pre>
<pre><nowiki>external.addFilter("http://www.yahoo.com/img/*", 0);</nowiki></pre>
</li>  


<li><B>m2_addSearchEngine(name, address)</B>


This property will call Maxthon's 'add search engine' dialog.
*<B>m2_addSearchEngine(name, address)</B> Cette fonction appellera la boîte de dialogue d'ajout d'un moteur de recherche de Maxthon.
<pre><nowiki>javascript:external.m2_addSearchEngine('SteadySearch',
'http://www.steadysearch.com/search?p=Q&ts=ne&w=%us');</nowiki></pre>
</li>


<li><B>m2_addSearchEngine(name, address)</B>
Cette fonction appelle la boite de dialogue "Ajouter un moteur de recherche" de Maxthon.
<pre><nowiki>javascript:external.m2_addSearchEngine('SteadySearch',
<pre><nowiki>javascript:external.m2_addSearchEngine('SteadySearch',
'http://www.steadysearch.com/search?p=Q&ts=ne&w=%us');</nowiki></pre>
'http://www.steadysearch.com/search?p=Q&ts=ne&w=%us');</nowiki></pre>
</li>
<li><B>m2_search_text( security_id )</B>


This property will return the text in Maxthon's search bar.
<pre>var text = external.m2_search_text(%max_security_id)</pre>
</li>


<li><B>m2_search_text( security_id )</B>
*<B>m2_search_text( security_id )</B> Cette propriété retournera le texte présent dans la barre de recherche de Maxthon.
Cette propriété retourne le texte dans la barre de recherche de Maxthon.


<pre>Exemple: var text = external.m2_search_text(%max_security_id) </pre>
<pre>var text = external.m2_search_text(%max_security_id);</pre>
</li>
 
</ol>
 
In a sidebar plugin you can implement a script function called <b>max_callback(status)</b>.
 
<ol>
<li>
When the plugin is created the URL will be <b>filename?maxcmd=init</b></li><li>
When the plugin is activated, <b>max_callback('sidebar_activate')</b> will be called</li><li>
When the plugin is deactivated, <b>max_callback('sidebar_deactivate')</b> will be called</li><li>
When the active tab is changed, <b>max_callback('sidebar_tab_change')</b> will be called</li><li>
When the plugin is unload, <b>max_callback('sidebar_unload')</b> will be called.</li>
</ol>


</ol>


Dans un plugin de barre latérale vous pouvez insérer une fonction script appelée <b>max_callback(status)</b>.
Dans un plugin de barre latérale vous pouvez insérer une fonction script appelée <b>max_callback(status)</b>.
Ligne 354 : Ligne 149 :
</li>
</li>
<li>
<li>
Qand le plugin est activé, <b>max_callback('sidebar_activate')</b> sera appelé
Quand le plugin est activé, <b>max_callback('sidebar_activate')</b> sera appelé
</li>
</li>
<li>
<li>

Version actuelle datée du 2 juillet 2008 à 14:47

Maxthon a maintenant plus de 20 commandes. De nombreuses commandes fonctionnent seulement dans les plugins, mais certaines peuvent aussi être utilisées sur des pages Web normales.


Vous pouvez appeler ces commandes avec l'objet "window.external". Parce qu'il est possible pour les pages Web d'utiliser ces commandes, de nombreuses commandes nécessitent maintenant un "security_id" (une identification de sécurité).


Un "security_id" est une variable qui ressemble à ceci : "{DCFC4598-B97C-49B6-8108-EE86F8694283}". Le "security_id" change chaque fois que vous relancez votre navigateur.


  • Pour les plugins de script, vous devez utiliser %max_security_id dans le fichier de script, tels que 'var security_id=%max_security_id', alors vous pourrez utiliser 'security_id' dans votre script.
    NOTE : Les pages Web sont capables d'obtenir cette variable security_id si vous lancez un plugin sur une page Web et si la page Web connaît la variable que vous stockez dans le max_security_id. Vous pouvez éviter un litige de sécurité si vous mettez tout votre code dans une fonction anonyme. [Vous trouverez plus d'informations sur les fonctions anonymes dans la 4ème Partie].
  • Pour les plugins de barre latérale, un fichier nommé "max.src" sera créé dans le dossier de votre plugin avec la variable max_security_id comme étant le security_id. Vous pouvez inclure ce fichier dans votre page html pour obtenir l'"id" (identifiant).


Comme ceci :

<lang="html4strict"><script language="JavaScript" type="text/JavaScript"
src="max.src"></script>

Ce code devrait être placé à l'intérieur de la balise <head>.


Vous trouverez ci-dessous, les commandes DHTML de Maxthon, n'oubliez pas de les faire précéder de 'external' ! :


  • readFile( security_id, plugin_name, file_name) Où 'plugin_name' fait référence au nom du plugin défini dans le fichier plugin.ini et 'file_name' indique le nom du fichier qu'il veut lire (situé dans le dossier plugin). Ce nom de fichier peut comporter un chemin, tel que 'data\settings.ini' pour lire le fichier 'settings.ini' dans le dossier 'data'.
    Le nom de fichier peut également comporter '..' pour lire le dossier parent, par exemple : '..\..\config\plugins.ini' pour lire le fichier plugin.ini dans le sous-dossier 'Maxthon\config'. Vous ne pouvez pas utiliser '..' plus de deux fois, ainsi vous ne pourrez pas lire/écrire des fichiers en dehors du dossier où Maxthon est situé (pour une meilleure sécurité).
    La commande retournera le contenu du fichier. Si le plugin n'est pas activé, ou si le nom du plugin n'est pas correct ou n'est pas trouvé, la commande échouera et retournera "null".
    Cette commande ne peut que lire des fichiers texte au format ANSI.
var text = external.readFile(%max_security_id,"Test plugin",
"export.txt");


  • writeFile( security_id, plugin_name, file_name, content ) Cette fonction ne peut être utilisée que dans un script de plugin, pour des raisons de sécurité.
    'plugin_name' se réfère au nom du plugin défini dans plugin.ini et 'file_name' indique le nom du fichier qui doit être écrit. 'content' est le contenu qui sera écrit dans le fichier. Si le plugin n'est pas capable d'écrire ou que le nom du plugin et erroné ou non trouvé, la fonction se terminera sur une erreur et retournera "null".
    Cette commande peut seulement écrire des fichiers au format texte. Aussi, la commande ajoute un caractère NULL à la fin du fichier. Celà n'a pas beaucoup d'importance, mais rend impossible d'écrire un fichier au format XML. Vous devez utiliser pour cela FileSystemObject (un composant ActiveX).
    Notez : Le fichier sera écrasé à partir du début.
    Pour ajouter du contenu à un fichier, lire la donnée du premier fichier, puis ajouter la nouvelle donnée et écrire la donnée.
external.writeFile(%max_security_id,"Test plugin","setting.ini",
"username=abc\npass=qwrxcv");


  • m2_readIni( security_id, plugin_name , file_name , section_name , key , default_value) Cette fonction lira la clé dans le fichier ini spécifié par 'file_name' dans le répertoire du plugin. Elle retournera 'default_value' si la clé n'est pas disponible ou si 'file_name' ou 'plugin_name' sont erronés.
path = external.m2_readIni(%max_security_id,"testplugin","settings.ini",
"general","save","0");


  • m2_writeIni( security_id , plugin_name , file_name , section_name , key , value ) Cette fonction écriera la clé avec 'value' dans le fichier ini spécifié par 'file_name'.
external.m2_writeIni(%max_security_id,"testplugin","settings.ini",
"general","save","true");


  • tab_count Cette commande retourne le nombre total d'onglets ouverts sous la forme d'un entier, comme le "Nombre d'onglets" dans la barre d'état.
var total_tab = external.tab_count;


  • activate_tab( security_id , index ) Cette fonction active l'onglet numéro 'index' dans Maxthon ('index' commence à 0).
external.activate_tab(%max_security_id,2);


  • close_tab( security_id , index ) Cette commande fermera l'onglet numéroté selon son 'index' dans Maxthon ('index' commence à zéro).
external.close_tab(%max_security_id,2);


  • get_tab( security_id , index ) Cette fonction retournera un objet de page web de l'onglet numéro 'index' ('index' commence à zéro). Vous pouvez l'utiliser si vous avez besoin d'information sur cet onglet, comme le titre ou l'adresse URL.
external.get_tab(%max_security_id,2).document;


  • cur_sel Cette fonction retournera le numéro (en commençant à zéro) de l'onglet courant sous la forme d'un entier.
var cur_tab = external.cur_sel;


  • m2_plugin_folder( security_id , plugin_name ) Cette fonction retournera le répertoire local du plugin. Vous pouvez utiliser cette commande si vous ajoutez des images locales ou une feuille de style à une page web.
var folder = external.m2_plugin_folder(%max_security_id,"Weather");
Ceci retourne par exemple : "C:\Program Files\Maxthon\Plugin\Weather"


  • m2_run_cmd( security_id , id ) Cette fonction appellera une commande de Maxthon avec l'ID spécifié. L'id de chaque commande est présent dans le fichier de chaque langue ou ici.
external.m2_run_cmd(%max_security_id,32772); //Ouvre une page vierge.


  • m2_callerName( security_id, plugin_name) Cette fonction indique à Maxthon que l'appel est réalisé à partir d'un Plugin.
    C'est habituellement utilisé avant un appel 'window.open()' pour que Maxthon ne tienne pas compte de la fenêtre popup que le plugin ouvre. La fenêtre ouverte conservera le focus si vous utilisez cette fonction.
external.m2_callerName(%max_security_id,"ViewSource!");


  • max_showConfig( security_id, plugin_name) Cette fonction affichera la boîte de dialogue de configuration des plugins (aller dans la 2ème partie de ce tutoriel pour obtenir plus d'information sur la fenêtre de configuration).
external.max_showConfig(%max_security_id,"ViewSource!");


  • max_activex(security_id, prog_id) Cette fonction créera un contrôle ActiveX avec le 'prog_id'.
    Ce contrôle ActiveX a plus de droits qu'un contrôle ActiveX normal, vous pouvez l'utiliser même si vous avez des options de sécurités hautes, mais il est encore possible qu'un antivirus bloque le composant.
    Vous devez ouvrir un nouvel onglet sous peine d'obtenir cette alerte : Cette commande ne peut seulement être appelée d'une page locale.
    Un nouvel onglet est une 'page locale' pour Maxthon.
var XML=external.max_activex(%max_security_id,"Microsoft.XMLDOM");


  • max_modelessDialog( security_id , url , option , attr , window ) Cette fonction ouvrira un 'modelessDialog'. C'est la même chose que la fonction 'window.ShowModelessDialog'. Le dernier paramètre 'window' est l'objet fenêtre de la page web.
external.max_modelessDialog(%max_security_id,'example.htm',
window,'status:no;help:no;resizable:yes;scroll:yes;',window);


  • max_language_id Cette propriété retourne le code de la langue en cours.
    Vous pouvez consulter tous les codes de langue ici
var language=external.max_language_id;


  • max_actSideBarItem( plugin_name ) Cette fonction activera le plugin de la barre latérale nommé 'plugin_name'.
external.max_actSideBarItem("Calculator++");


  • addFavorite( url , title ) , addFavorite( url ) Cette fonction demandera à l'utilisateur d'ajouter lurl' dans les favoris, en utilisant 'title' comme nom d'url.
external.addFavorite( "http://www.google.com" ); 
external.addFavorite( "http://www.google.com","C'est google");


  • addProxy (name, address, speed, is_web_proxy) Cette fonction appellera la boîte de dialogue d'ajout d'un proxy de Maxthon pour ajouter le nom du proxy 'name' à l'adresse 'address', en indiquant comme vitesse initiale 'speed'. Le 'is_web_proxy' indique si le proxy est un proxy web ou un proxy normal.
external.addProxy("Mon proxy","192.168.1.0:8080",1,0);


  • addFilter( address ) , addFilter( address, is_pop_filter ) Cette fonction appellera la boîte de dialogue d'ajout d'un filtre de Maxthon, en indiquant l'adresse à filtrer 'address', 'is_pop_filter' indiquant si le type de filtre par défaut est un filtre de popup.
external.addFilter("http://www.yahoo.com/ad*");
external.addFilter("http://www.yahoo.com/img/*", 0);


  • m2_addSearchEngine(name, address) Cette fonction appellera la boîte de dialogue d'ajout d'un moteur de recherche de Maxthon.
javascript:external.m2_addSearchEngine('SteadySearch',
'http://www.steadysearch.com/search?p=Q&ts=ne&w=%us');


  • m2_search_text( security_id ) Cette propriété retournera le texte présent dans la barre de recherche de Maxthon.
var text = external.m2_search_text(%max_security_id);


Dans un plugin de barre latérale vous pouvez insérer une fonction script appelée max_callback(status).

  1. Quand le plugin est créé l'adresse URL sera filename?maxcmd=init
  2. Quand le plugin est activé, max_callback('sidebar_activate') sera appelé
  3. Quand le plugin est désactivé, max_callback('sidebar_deactivate') sera appelé
  4. Quand l'onglet actif est modifié, max_callback('sidebar_tab_change') sera appelé
  5. Quand le plugin sera fermé, max_callback('sidebar_unload') sera appelé.


< Partie 2 : Fichiers Plugin | Sommaire Plugin | Partie 4 : Astuces >