Maison > interface Web > Tutoriel H5 > Utilisez une syntaxe de type ActionScript pour écrire du HTML5 - Partie 9, imitant URLLoader pour lire des fichiers

Utilisez une syntaxe de type ActionScript pour écrire du HTML5 - Partie 9, imitant URLLoader pour lire des fichiers

黄舟
Libérer: 2017-01-17 17:00:17
original
1269 Les gens l'ont consulté

Partie 9, imitant URLLoader pour lire des fichiers

Jetons d'abord un coup d'œil au code final

function readFile(){
urlloader = new LURLLoader();
urlloader.addEventListener(LEvent.COMPLETE,readFileOk);
urlloader.load("../file/test.txt","text");
}
function readFileOk(){
mytxt.text = urlloader.data;
}
Copier après la connexion

Imitant essentiellement Actionscript.

Regardez ici l'effet et le code. Si vous ne voyez pas l'effet, veuillez télécharger un navigateur prenant en charge HTML5

http://fsanguo.comoj.com/html5/jstoas09/. index.html

Parlons du processus d'implémentation
En fait, ActiveXObject en JavaScript peut lire et écrire des fichiers locaux, mais le niveau de sécurité de votre navigateur doit être réglé au plus bas , mais ce que nous faisons Les jeux et les pages Web doivent être mis en ligne, et nous ne pouvons en aucun cas exiger que tous les utilisateurs le fassent.

Ici, j'utilise PHP pour implémenter ce processus. PHP peut lire librement les fichiers sur le serveur.

Lire les fichiers avec PHP. Cela peut être fait avec une fonction fopen. Ce qui suit est le code de file.php

if(!file_exists($_POST["file"])){
echo "";
exit;
}
$file = fopen($_POST["file"],"r");
$filemsg = "";
while (!feof($file)) {
$line = fgets($file);
$filemsg = $line;
}
fclose($file);
echo $filemsg;
Copier après la connexion

Placez ce php à l'emplacement que vous aimez, puis définissez le chemin LEGEND_FILE_PHP dans legend.js pour pointer vers où. vous le mettez. Emplacement

Concernant le javascript appelant php, bien sûr vous pouvez l'écrire vous-même, car ce n'est pas compliqué, mais je suis une personne très paresseuse, donc j'utilise directement jQuery pour appelez-le, jquery est quoi ? Je suppose que je n'ai pas besoin de l'expliquer

Concernant la structure de LURLLoader, c'est fondamentalement la même que LLoader, seule la méthode de chargement est différente. Voici le code complet de la classe LURLLoader, qui appelle. le php préalablement préparé pour obtenir le texte à lire

function LURLLoader(){
var self = this;
self.objectindex = ++LGlobal.objectIndex;
self.type="LURLLoader";
self.loadtype = "";
self.content = null;
self.oncomplete = null;
self.event = {};
}
LURLLoader.prototype = {
addEventListener:function(type,listener){
var self = this;
if(type == LEvent.COMPLETE){
self.oncomplete = listener;
}
},
load:function (path,loadtype){
var self = this;
self.loadtype = loadtype;
if(self.loadtype == "text"){
$.post(LEGEND_FILE_PHP, {
flg:"read",
file:path
},function(data){
if(self.oncomplete){
self.event.currentTarget = data;
self.data = data;
self.oncomplete(self.event);
}
});
}
}
}
Copier après la connexion

Concernant l'exemple ci-dessus, j'ai ajouté un bouton et un LTextField Voir le code ci-dessous

init(40,"mylegend",600,500,main);

var loadingLayer;
var backLayer;

var urlloader
var mytxt;
function main(){
legendLoadOver();

var readBtn = addButton("读取",20);
readBtn.x = 10;
readBtn.y = 20;
addChild(readBtn);
readBtn.addEventListener(LMouseEvent.MOUSE_DOWN, readFile);

mytxt = new LTextField();
mytxt.x = 10;
mytxt.y = 50;
mytxt.text = "";
mytxt.width = 300;
mytxt.height = 200;
mytxt.setType(LTextFieldType.INPUT);
addChild(mytxt);
}
function readFileOk(){
mytxt.text = urlloader.data;
}
function readFile(){
urlloader = new LURLLoader();
urlloader.addEventListener(LEvent.COMPLETE,readFileOk);
urlloader.load("../file/test.txt","text");
}
function addButton(lbl,x){
var up = new LSprite();
up.graphics.drawRect(1,"black",[0, 0, 80, 20],true,"#999999");
var txt = new LTextField();
txt.x = x;
txt.text = lbl;
up.addChild(txt);
var over = new LSprite();
over.graphics.drawRect(1,"black",[0, 0, 80, 20],true,"#cccccc");
var txt1 = new LTextField();
txt1.x = x;
txt1.text = lbl;
over.addChild(txt1);
var btn = new LButton(up,over);
return btn;
}
Copier après la connexion

Ce qui précède est. pour utiliser une syntaxe de type ActionScript pour écrire du HTML5 - Partie 9, en imitant URLLoader pour lire le contenu du fichier. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal