>  기사  >  웹 프론트엔드  >  ActionScript와 유사한 구문을 사용하여 html5 작성 - 9부, URLLoader를 모방하여 파일 읽기

ActionScript와 유사한 구문을 사용하여 html5 작성 - 9부, URLLoader를 모방하여 파일 읽기

黄舟
黄舟원래의
2017-01-17 17:00:171210검색

9부, URLLoader를 모방하여 파일 읽기

최종 코드를 먼저 살펴보세요

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

기본적으로 Actionscript를 모방합니다.

효과와 코드는 여기를 보세요. 효과가 보이지 않으면 HTML5를 지원하는 브라우저를 다운로드하세요

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

구현 과정에 대해 이야기해보자
사실 JavaScript의 ActiveXObject는 로컬 파일을 읽고 쓸 수 있지만 브라우저의 보안 수준을 가장 낮게 설정해야 합니다. 하지만 우리가 하는 일은 게임과 웹페이지가 온라인에 게시되어야 하며 모든 사용자에게 그렇게 하도록 요구할 수 있는 방법은 없습니다.

여기서는 PHP를 사용하여 서버에 있는 파일을 자유롭게 읽을 수 있습니다.

PHP로 파일을 읽는 것은 매우 간단합니다. 다음은 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;

이 PHP를 원하는 위치에 넣은 다음 legend.js의 LEGEND_FILE_PHP 경로가 해당 위치를 가리키도록 설정합니다. 넣어두세요

php를 호출하는 javascript는 물론 복잡하지 않으니 직접 작성하셔도 되지만 저는 워낙 게으른 사람이라 jQuery를 이용해서 직접 호출해봅니다. 제이쿼리란 무엇인가요? 따로 설명할 필요는 없을 것 같습니다.

LURLLoader의 구조는 LLoader와 기본적으로 동일하며, 로드 방식만 다릅니다. 다음은 LURLLoader 클래스를 호출하는 전체 코드입니다.

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);
}
});
}
}
}

위의 예에서는 버튼과 LTextField를 추가했습니다.

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;
}

위의 코드를 참조하세요. ActionScript를 모방하여 html5 작성하기 - Part 9, URLLoader 읽기를 모방하기 파일 내용 얻기 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.