| 3、 新建一个FLASH文档,在舞台放置两个多行动态文本框,实例名分别为titles和contents,分别放新闻标题及内容。本来,笔者打算直接把index.html直接读进titles文本框里,可惜链接放进去就会跳转页面,如果要避免的话,必须通过字符串分析把链接改成asfunction协议,此法麻烦,而且容易受内容影响而出错。所以,还是再建一个XML文档提供给FLASH去读取好了。
 在index.html所在目录下,建一XML文件news.xml
 <?xml version="1.0" encoding="GB2312"?><news>
 <a href="page1.html" title="news1"/>
 <a href="page2.html" title="news2"/>
 <a href="page3.html" title="news3"/>
 </news>
 在Flash里新建一图层,添加帧代码:
 System.useCodepage = true;
 titles.html = true;
 var titlesLv = new XML();
 titlesLv.load("news.xml");
 titlesLv.onLoad = function(success) {
 if (success) {
 var titles_arr = new Array();
 var hrefs_arr = new Array();
 titles.htmlText = "";
 for (var i in titlesLv.childNodes[0].childNodes) {
 titles_arr[i] = titlesLv.childNodes[0].childNodes[i].attributes.title;
 hrefs_arr[i] = titlesLv.childNodes[0].childNodes[i].attributes.href;
 }
 for (var i in titles_arr) {
 titles.htmlText += "<br><a href=\"asfunction:loadNews,"+hrefs_arr[i]+"\">"+titles_arr[i]+"</a>";
 }
 }
 };
 此段代码是把解析XML文件的,不属本教程的重点,故不再赘述。这其中的loadNews函数是调用新闻的,在下面添加:
 var contentsLv = new LoadVars();function loadNews(href) {
 contentsLv.load(href);
 fscommand("setAddress",href)//让新闻加载的时候,修改地址栏#后的内容。这将在JS里定义。
 }
 contents.html = true;
 contentsLv.onData = function(src) {
 fscommand("setTitle",getTitle(src))//setTitle修改页面的标题,也在JS里定义。getTitle从html字符串里获得标题。该函数在AS里定义
 contents.htmlText = getContents(src);//getContents从html字符串里获取正文内容,将在AS里定义。
 下面定义这两个字符串分析函数:分页html的格式:
 
 <title>新闻标题</title><script language="javascript" src="toNews.js"></script><body>正文内容</body> function getTitle(str){var beginIndex=str.indexOf("<title>")+7//标题符从<title>标签开始
 var endIndex=str.indexOf("</title>")//结束于</title>标签
 return str.slice(beginIndex,endIndex)//标记后用slice函数截得
 }
 function getContents(str){
 var beginIndex=str.indexOf("</title>")+8//正文可以从</title>开始,也可以选择<body>标签
 return str.slice(beginIndex)//标记后用slice截取。
 }
 };
 保存FLA文件到index.html所在目录,文件名为index_flash.fla。然后点“文件”-“发布设置”,在HTML选项卡里,模板下拉选择“带FSCOMMAND跟踪的FLASH”,然后点“发布”按钮。接着在“格式”选项卡里把HTML勾去掉。  出处:蓝色理想
责任编辑:moby
 上一页 Flash 网站的 SEO [3] 下一页 Flash 网站的 SEO [5] ◎进入论坛Flash专栏版块参加讨论
	      |