隨筆-60  評(píng)論-35  文章-15  trackbacks-0

            一、AS調(diào)用JS方法時(shí)出現(xiàn)同名方法查看實(shí)例

            AS代碼如下:

          import flash.external.*;
          var v = ExternalInterface.available;
          t_btn.onRelease 
          = function (){
          //調(diào)用JS函數(shù)
          var s = ExternalInterface.call("say","JS函數(shù)調(diào)用成功!")
          //調(diào)用AS本地函數(shù)
          += say("\n本地函數(shù)調(diào)用成功!");
          r_txt.text 
          = s;
          }
          //AS本地函數(shù)
          function say(s){
          return s;
          }  
          HTML代碼:
          //定義一個(gè)JS函數(shù)
          function say(txt){
          return txt;
          可以看到在JS中定義了一個(gè)say方法供AS調(diào)用,現(xiàn)在我們?cè)贏S中定義了一個(gè)同名的say方法來驗(yàn)證它們是否會(huì)出現(xiàn)覆蓋。結(jié)果證明它們不會(huì)覆蓋,都工作得很好。(PS:不錯(cuò)~)

          二、JS調(diào)用AS方法時(shí)出現(xiàn)同名方法查看實(shí)例

            AS代碼如下:

          //導(dǎo)入包
          import flash.external.*;
          //提供JS訪問的函數(shù)名
          var _method:String = "say";
          //指定本地函數(shù)中this變量的作用域,可設(shè)置為null留空
          var e_area:Object = null;
          //AS內(nèi)部函數(shù)名
          var method:Function = say;
          //將函數(shù)注冊(cè)到容器列表
          var wasSuccessful:Boolean = ExternalInterface.addCallback(_method, method);
          ↑ 這里返回的void因此無法轉(zhuǎn)換為Boolean

          //查看注冊(cè)是否成功
          if(wasSuccessful){
          result_txt.text 
          = "函數(shù)注冊(cè)成功";
          }
          //本地的函數(shù)
          function say(txt:String) {
          result_txt.text 
          = txt;
          }

          HTML代碼如下:
          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh_cn" lang="zh_cn">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>javascript 調(diào)用 flash 方法</title>
          <script language="javascript">AC_FL_RunContent = 0;</script>
          <script src="AC_RunActiveContent.js" language="javascript"></script>
          </head>
          <body bgcolor="#ffffff">
          <!--影片中使用的 URL-->
          <!--影片中使用的文本-->
          <!--
          <p>你們好</p>
          -->
          <!-- saved from url=(0013)about:internet -->
              
          <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="550" height="400" align="middle" id="myFlash">
              
          <param name="allowScriptAccess" value="sameDomain" />
              
          <param name="allowFullScreen" value="false" />
              
          <param name="movie" value="flash讀取css.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />    <embed name="myFlash" swLiveConnect="true" src="flash讀取css.swf" quality="high" bgcolor="#ffffff" width="550" height="400" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
              
          </object>
          <SCRIPT LANGUAGE=JavaScript>
          var InternetExplorer = navigator.appName.indexOf("Microsoft"!= -1;
          function myFlash_DoFSCommand(command, args) {
          var myFlashObj = InternetExplorer ? myFlash : document.myFlash;
          alert (args);
          }
          if (navigator.appName && navigator.appName.indexOf("Microsoft"!= -1 && 
          navigator.userAgent.indexOf(
          "Windows"!= -1 && navigator.userAgent.indexOf("Windows 3.1"== -1) {
          document.write('
          <SCRIPT LANGUAGE=VBScript\> \n');
          document.write('on error resume next \n');
          document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)\n');
          document.write(' call myFlash_DoFSCommand(command, args)\n');
          document.write('end sub\n');
          document.write('
          </SCRIPT\> \n');

          </SCRIPT>

          <script>


          //定義一個(gè)JS本地函數(shù)
          function say(s){
          thisMovie(
          "myFlash").say(s);
          //↑這里的demo指的是使用Object插入flash的時(shí)候指定的id和embed指定的name,例如:id="demo"和name="demo"

          alert(s);
          }

          //瀏覽器兼容訪問DOM,并且將 flash Object返回
          function thisMovie(movieName) {
          if (navigator.appName.indexOf("Microsoft"!= -1) {
          return window[movieName]
          }
          else {
          return document[movieName]
          }
          }

          </script>


          <form name="www">
          內(nèi)容:
          <input type="text" name="sendText" maxlength="45" onChange="say(this.value)" > 
          </form>
          </body>
          </html>

          可以看到在AS中定義了一個(gè)say方法供JS調(diào)用,現(xiàn)在我們?cè)贘S中定義了一個(gè)同名的say方法來驗(yàn)證它們是否會(huì)出現(xiàn)覆蓋。結(jié)果證明它們不會(huì)覆蓋,都工作得很好。(PS:也不錯(cuò)~)

            通過上面的兩個(gè)例子我們可以得出結(jié)論在使用ExternalInterface時(shí)即使定義了同名方法,也不會(huì)造成方法覆蓋,你大可放心使用。



          其余
          ============================================================
           在論壇上經(jīng)常看見有新手問到“我想讓FLASH得到URL中的參數(shù)ID號(hào),該怎么辦?”“某某視頻網(wǎng)站的FLASH播放器是如何播放不同ID的視頻的?”...諸如此類問題看到了太多,每次都有一堆回帖,眾說紛紜,里面難免有誤導(dǎo)性質(zhì)的回復(fù)。今天特結(jié)合自己平時(shí)工作中使用的心得對(duì)此類問題做一個(gè)小小的歸納。
            我所指的靜態(tài)傳值是區(qū)別于與服務(wù)端通信進(jìn)行值傳遞的方式,例如LoadVars,XML,Remoting之類,后者暫且不在本文的討論范圍內(nèi),當(dāng)你想讓FLASH獲取URL中的參數(shù)時(shí),你為何不換個(gè)角度想了?其實(shí)我們可以讓服務(wù)端動(dòng)態(tài)生成SWF的的插入代碼,主動(dòng)將我們需要的參數(shù)“靜態(tài)”傳遞給FLASH,F(xiàn)LASH直接用就可以了,根本不需要自己去拿,而以何種形式傳遞給FLASH,就是我所指的靜態(tài)傳值。我知道的可行的HTML與FLASH之間的靜態(tài)傳值方法有三種:
          • SWF地址后使用參數(shù)傳遞符“?”
          • FlashVars傳遞
          • JS控制

            下面來具體介紹下這三種方式的傳遞是如何工作的:
            

          一、SWF地址后使用參數(shù)傳遞符“?”

            我們知道,在ULR地址中使用參數(shù)傳遞符“?”可以以GET方式傳遞參數(shù),例如http://www.v-sky.com?uid=12&uname=vsky,這里使用了參數(shù)傳遞符“?”,同時(shí)使用了連接符“&”做為變量分隔標(biāo)識(shí),以這種規(guī)范的格式來傳遞兩個(gè)參數(shù):uid=12和uname=vsky,那么服務(wù)端可以使用GET方式獲取這兩個(gè)值。
            在FLASH中我們同樣可以采用類似的方式來傳遞參數(shù),HTML頁面中插入SWF文件最常用的就是使用Object標(biāo)簽和Embed標(biāo)簽結(jié)合的方式,這也是Adobe的推薦方式:
            
          <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="300" id="flashvars" align="center">
          <param name="allowScriptAccess" value="sameDomain" />
          <param name="movie" value="demo.swf?uid=12&uname=vsky" />
          <param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />
          <embed src="demo.swf?uid=12&uname=vsky" quality="high" bgcolor="#ffffff" width="400" height="300" name="flashvars" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
          </object>



            其中粗體部分對(duì)應(yīng)的就是SWF文件的地址,那么我們可以在這個(gè)地址后面通過類似于URL中GET方式傳參的方法來個(gè)SWF傳遞參數(shù),例如上面代碼在頁面完全加載完畢時(shí),它已經(jīng)給SWF文件寫入了兩個(gè)變量:uid=12和uname=vsky。

            

          二、FlashVars傳遞

            你可以查閱FLASH幫助文檔來看FlashVars的官方定義。其實(shí)在HTML語法中,這是一個(gè)被很多新手所忽視的屬性,同樣以上面的參數(shù)為例,下面用FlashVars來傳遞變量:

          <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="300" id="flashvars" align="center">
          <param name="allowScriptAccess" value="sameDomain" />
          <param name="movie" value="demo.swf" />
          <param name="FlashVars" value="uid=12&uname=vsky" />
          <param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />
          <embed src="demo.swf" FlashVars="uid=12&uname=vsky" quality="high" bgcolor="#ffffff" width="400" height="300" name="flashvars" align="center" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
          </object>


            跟方式一相同,它也是直接給FLASH里添加了這兩個(gè)變量。但我個(gè)人推薦使用此方式,結(jié)合SWFObject的使用,使用FlashVars來傳遞變量有很多好處,例如代碼清晰,容易管理,瀏覽其兼容,符合標(biāo)準(zhǔn)。他們的結(jié)合使用在“為FLASH程序構(gòu)造靈活的接口”一文中我已經(jīng)做了介紹(PS:隨后我會(huì)提供一個(gè)復(fù)雜點(diǎn)的、有說服力的實(shí)際應(yīng)用來說明這種靈活接口的使用)。
            

          三、JS控制

            對(duì)于客戶端頁面中的資源,JS通過DOM結(jié)構(gòu)來控制它們可以說是隨心所欲的,F(xiàn)LASH也不例外,下面是Flash Player的Javascript方法一覽表:


          Play() —————————————- 播放動(dòng)畫
          StopPlay()————————————停止動(dòng)畫
          IsPlaying()———————————– 動(dòng)畫是否正在播放
          GotoFrame(frame_number)—————- 跳轉(zhuǎn)到某幀
          TotalFrames()——————————- 獲取動(dòng)畫總幀數(shù)
          CurrentFrame()——————————回傳當(dāng)前動(dòng)畫所在幀數(shù)-1
          Rewind()————————————-使動(dòng)畫返回第一幀
          SetZoomRect(left,top,right,buttom)——-放大指定區(qū)域
          Zoom(percent)——————————改變動(dòng)畫大小
          Pan(x_position,y_position,unit)————使動(dòng)畫在x,y方向上平移
          PercentLoaded()—————————-返回動(dòng)畫被載入的百分比
          LoadMovie(level_number,path)———– 加載動(dòng)畫
          TGotoFrame(movie_clip,frame_number)- movie_clip跳轉(zhuǎn)到指定幀數(shù)
          TGotoLabel(movie_clip,label_name)—— movie_clip跳轉(zhuǎn)到指定標(biāo)簽
          TCurrentFrame(movie_clip)————— 回傳movie_clip當(dāng)前幀-1
          TCurrentLabel(movie_clip)—————–回傳movie_clip當(dāng)前標(biāo)簽
          TPlay(movie_clip)—————————播放movie_clip
          TStopPlay(movie_clip)———————-停止movie_clip的播放
          GetVariable(variable_name)—————–獲取變量
          SetVariable(variable_name,value)———–變量賦值
          TCallFrame(movie_clip,frame_number)—call指定幀上的action
          TCallLabel(movie_clip,label)—————-call指定標(biāo)簽上的action
          TGetProperty(movie_clip,property)——–獲取movie_clip的指定屬性
          TSetProperty(movie_clip,property,number)———-設(shè)置movie_clip的指定屬性



            在這里我們只需要使用的是粗體標(biāo)識(shí)的SetVariable方法,JS通過調(diào)用此方法能夠直接更改SWF中的變量值。首先我們需要定義插入的SWF的ID,例如id為VskyDemo,那么我們可以通過下面的JS語句來完成SWF內(nèi)部變量的設(shè)置:

          window.document.VskyDemo.SetVariable("uid", 12);


            很簡單吧,就是這樣的。除非是涉及到了HTML中SWF之外元素跟它交互,否則我一般不使用JS來控制SWF里的變量,因?yàn)槲铱傆X得怪怪的,呵呵,個(gè)人習(xí)慣吧。
            多多實(shí)踐,不要覺得這些小東西不起眼,小東西多了,聚結(jié)到一起了就是一個(gè)大的應(yīng)用。
            條條大路通北京,選擇你自己喜歡的,自己認(rèn)為便捷的方式就可以了,目前我是沒有發(fā)現(xiàn)這三個(gè)方式存在功能上的缺陷。


          ======================================================================================

          前言、JavaScript和Macromedia Flash的通信示例

          原文地址: http://www.macromedia.com/support/flash/ts/documents/java_script_comm.htm
          說明: 略作修改,主要是一些很初級(jí)的操作; 又很多相似的文章,不過這個(gè)很權(quán)威

          下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每個(gè)示例都有簡略的步驟

          本文討論了3種基本的Flash/Javascript通信方式:
          Javascript 到 Flash的通信----使用Flash播放器的javascript方法
          Flash 到 Javascript的通信----使用Flash的fscommand
          Flash 到 Flash的通信----------使用本地連接對(duì)象或綜合上2種技術(shù)

          并不是所有的瀏覽器都很重視腳本.為了和Flash播放器通信,瀏覽器必須有內(nèi)置的鉤子以便Flash播放器可以'監(jiān)聽'.瀏覽器必須是下列的幾種:
          Netscape Navigator 3.0-4.7x, 和 Netscape 6.2或更高
          (Windows 95/98/NT/2000/XP 或 MacOS; 允許Java和LiveConnect)
          Internet Explorer 3.0 或更高
          (僅Windows 95/98/NT/2000/XP; 允許ActiveX)

          注意:Macintosh上的Internet Explorer和早期版本的Netscape6不支持這種方法.請(qǐng)查看本文的附加信息

          一、Javascript到Flash的通信

          這個(gè)例子演示了如何使用Flash的method把變量從HTML的input text 發(fā)送到該頁面中的Flash文件中.HTML input的數(shù)據(jù)通過Flash的SetVariable方法傳送到Flash文件中.

          查看示例:示例
          下載源文件: javascript_to_flash.zip(17k)

          步驟:

          Flash中
          1.新建一個(gè)文件,保存為javascript_to_flash.fla
          2.用文字工具在舞臺(tái)上創(chuàng)建一個(gè)文本域
          3.選擇這個(gè)文本域,在屬性面板中,從下拉列表中選擇動(dòng)態(tài)文本(Dynamic Text),在變量(variable)欄填上"myVar"
          注意:最好的習(xí)慣是使用Instance,用myVar.text更改myVar的值.為了簡單起見和兼容Flash4和Flash5,我們使用的是變量名的形式.
          4.保存文件
          5.發(fā)布HTML文件和SWF文件

          Dreamweaver中
          下一步的工作轉(zhuǎn)移到Dreamweaver中了,當(dāng)然也可以是其他的HTML編輯器
          1.打開上一步發(fā)布的HTML文件
          2.插入生成的SWF文件和OBJECT/EMBED標(biāo)簽
          (1) Insert>Media>Flash,并選擇這個(gè)Flash
          (2) 切換到代碼視圖,我們需要修改被選中的<OBJECT>和<EMBED>標(biāo)簽
          (3) 在OBJECT標(biāo)簽中,插入id="myFlash"

          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
          codebase="http://download.macromedia.com/pub/shockwave/cabs/
          flash/swflash.cab#version=5,0,0,0" 
           width=366 height=142 id="myFlash">

          注意:如果你是粘貼復(fù)制代碼的話,確保刪除不必要的換行.否則可能會(huì)引起錯(cuò)誤; id也可以在屬性面板里直接輸入
          (4) 在EMBED標(biāo)簽中,插入name="myFlash"和swLiveConnect="true",確保沒有使用id屬性!代碼應(yīng)當(dāng)是這樣子的:

          <embed src="javascript_to_flash.swf" quality=high width=366 height=142
          type="application/x-shockwave-flash"
          pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
          P1_Prod_Version=ShockwaveFlash"
          name="myFlash" swLiveConnect="true">
          </embed> 

          3.創(chuàng)建表單域
          (1) 回到設(shè)計(jì)視圖
          (2) 插入文本域(Insert> Form Object> Text Field),如果詢問是否添加表單域,選擇是
          (3) 把文本域的HTML標(biāo)簽修改成這樣:

          <input type="text" name="sendText" maxlength="45"
          onChange="doPassVar(this)">

          每當(dāng)文本域內(nèi)容發(fā)生變化時(shí),onChange就被觸發(fā),doPassVar()函數(shù)就被調(diào)用

          4.創(chuàng)建傳遞變量值的Javascript函數(shù)
          復(fù)制下面的Javascript到<head></head>標(biāo)簽內(nèi)

          <SCRIPT LANGUAGE=JavaScript>
          <!--
          function doPassVar(args){
          var sendText = args.value;
          window.document.myFlash.SetVariable("myVar", sendText);
          }
          //-->
          </SCRIPT>

          5.保存文件,測試一下(F12)

          二、Flash到Javascript的通信

          從HTML可以發(fā)送數(shù)據(jù)到Flash,反過來也可以. 這個(gè)例子演示了如何應(yīng)用Flash的Fscommand來發(fā)送數(shù)據(jù)到Javascript.

          查看示例:示例2
          下載源文件: flash_to_javascript.zip(10K)

          簡要步驟:
          Flash中
          新建一個(gè)文件,保存為flash_to_javascript.fla
          創(chuàng)建一個(gè)文本域,設(shè)置成輸入文本(Input Text),選擇"border"以便我們能看到他,指定他的變量為inputVar
          創(chuàng)建一個(gè)按鈕,在按鈕上添加如下的as:

          on (release) {
          fscommand ("send_var", inputVar);
          }

          保存文件,導(dǎo)出HTML和SWF

          Dreamweaver中
          1.打開導(dǎo)出HTML文件,修改<OBJECT>和<EMBED>標(biāo)簽,結(jié)果同上:

          <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
          codebase="http://download.macromedia.com/pub/shockwave/cabs/
          flash/swflash.cab#version=5,0,0,0"
          width=366 height=142 id="myFlash">
          <embed src="javascript_to_flash.swf" quality=high
          width=366 height=142
          type="application/x-shockwave-flash"
          pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
          P1_Prod_Version=ShockwaveFlash" name="myFlash" swLiveConnect="true">
          </embed>

          2. 插入如下的Javascript到<Body>標(biāo)簽內(nèi):

          <SCRIPT LANGUAGE=JavaScript>
          <!--
          var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
          function myFlash_DoFSCommand(command, args) {
             var myFlashObj = InternetExplorer ? myFlash : document.myFlash;
             alert (args);
          }
          if (navigator.appName && navigator.appName.indexOf("Microsoft")
          != -1 &&
          navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows
          3.1") == -1) {
          document.write('<SCRIPT LANGUAGE=VBScript\> \n');
          document.write('on error resume next \n');
          document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)\n');
          document.write(' call myFlash_DoFSCommand(command, args)\n');
          document.write('end sub\n');
          document.write('</SCRIPT\> \n');
          }
          //-->
          </SCRIPT> 

          三、Flash和Flash的通信

          通過上面兩種方法的混和使用,同一HTML中兩個(gè)或者更多的Flash直接可以相互傳送消息. 從一個(gè)flash使用fscommand傳送消息給Javascript,使用Flash的Javascript methods把消息傳給另外一個(gè)flash

          詳細(xì)的看這里:Flash影片之間的通信示例

          從Flash MX開始,local connection對(duì)象可以用來在flash之間傳送消息. 這使得同一HTML中的或者位于兩個(gè)瀏覽器窗口中的兩個(gè)flash影片可以相互發(fā)送消息,而不必使用Javascript或者fscommand
          詳細(xì)的看這里:在Flash MX中使用local connection對(duì)象(英文)

          本站的localConnection教程:http://www.flashempire.com/school/tutorview.php?id=327

          附可控制Flash Player的Javascript方法:
          一覽表:
          Play() ---------------------------------------- 播放動(dòng)畫
          StopPlay()------------------------------------停止動(dòng)畫
          IsPlaying()----------------------------------- 動(dòng)畫是否正在播放
          GotoFrame(frame_number)---------------- 跳轉(zhuǎn)到某幀
          TotalFrames()------------------------------- 獲取動(dòng)畫總幀數(shù)
          CurrentFrame()------------------------------回傳當(dāng)前動(dòng)畫所在幀數(shù)-1
          Rewind()-------------------------------------使動(dòng)畫返回第一幀
          SetZoomRect(left,top,right,buttom)-------放大指定區(qū)域
          Zoom(percent)------------------------------改變動(dòng)畫大小
          Pan(x_position,y_position,unit)------------使動(dòng)畫在x,y方向上平移
          PercentLoaded()----------------------------返回動(dòng)畫被載入的百分比
          LoadMovie(level_number,path)----------- 加載動(dòng)畫
          TGotoFrame(movie_clip,frame_number)- movie_clip跳轉(zhuǎn)到指定幀數(shù)
          TGotoLabel(movie_clip,label_name)------ movie_clip跳轉(zhuǎn)到指定標(biāo)簽
          TCurrentFrame(movie_clip)--------------- 回傳movie_clip當(dāng)前幀-1
          TCurrentLabel(movie_clip)-----------------回傳movie_clip當(dāng)前標(biāo)簽
          TPlay(movie_clip)---------------------------播放movie_clip
          TStopPlay(movie_clip)----------------------停止movie_clip的播放
          GetVariable(variable_name)-----------------獲取變量
          SetVariable(variable_name,value)-----------變量賦值
          TCallFrame(movie_clip,frame_number)---call指定幀上的action
          TCallLabel(movie_clip,label)----------------call指定標(biāo)簽上的action
          TGetProperty(movie_clip,property)--------獲取movie_clip的指定屬性
          TSetProperty(movie_clip,property,number)-設(shè)置movie_clip的指定屬


          posted on 2007-12-18 18:00 Q系列類、方法、變量…… 閱讀(2957) 評(píng)論(2)  編輯  收藏

          評(píng)論:
          # re: 在javascript與flash之間游弋[未登錄] 2015-06-24 11:56 | 1
          # re: 在javascript與flash之間游弋[未登錄] 2015-06-24 15:24 | 1

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 东宁县| 利川市| 西乌珠穆沁旗| 个旧市| 栾川县| 兰溪市| 门头沟区| 綦江县| 景谷| 建湖县| 安溪县| 瑞丽市| 武威市| 基隆市| 宁海县| 垫江县| 北碚区| 大足县| 嘉善县| 怀仁县| 娱乐| 共和县| 荥经县| 内丘县| 龙里县| 无为县| 饶阳县| 株洲市| 广德县| 定西市| 金湖县| 福州市| 岳阳市| 康马县| 沙河市| 宁波市| 宜丰县| 九江县| 南昌市| 寻乌县| 通榆县|