欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

CKEDITOR4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

小編給大家分享一下CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司客戶idc服務(wù)中心,提供成都西信服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開(kāi)放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。

實(shí)例如下:

  contents:           //每一個(gè)contents在對(duì)話框中都是一個(gè)tab頁(yè)
      [
        {
          id: 'user',      //contents的id
          label: 'You name',
          title: 'You name',
          elements:       //定義contents中的內(nèi)容,我們這里放一個(gè)文本框,id是name
          [
            {
              id: 'name',
              type: 'text',
              style: 'width: 50%;',
              label: 'You name',
            }
          ]
        }
      ],

如果我們把elements中間的內(nèi)容,換成iframe,會(huì)是什么樣呢?讓我們來(lái)看一看:

  contents:           //每一個(gè)contents在對(duì)話框中都是一個(gè)tab頁(yè)
      [
        {
          id: 'user',      //contents的id
          label: 'You name',
          title: 'You name',
          elements:
          [
            {
              type: "html",
              html: "<iframe id='myiframe' width='100%' height='100%' src='" + "http://www.163.com" + "'></iframe>",
              style: "width:800px;height:580px;padding:0;"
            }
          ]
        }
      ],

在這里,我們描述了我們的elements的類型是html,接著我們插入了一段html代碼,也就是我們的iframe,將網(wǎng)易鏈接了進(jìn)來(lái),最后用style標(biāo)簽定義了對(duì)話框的大小。保存之后,打開(kāi)看看效果:

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

果然,我大“黃易”的首頁(yè)被載入進(jìn)來(lái)了,看來(lái)這個(gè)路子可行!那接下來(lái),我們可以試著載入自己的頁(yè)面了。在ckeditor_sample.html文件旁邊,再新建一個(gè)文件,叫做myiframe.html,類似這樣:

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

打開(kāi)這個(gè)文件進(jìn)行編輯,填入以下代碼,我們構(gòu)建一個(gè)帶有輸入框和復(fù)選框的頁(yè)面:

<html>
  <head></head>
  <body>
    <div>
      姓名: <input type="text" id="username" name="username" value="" /> <br/>
      <input type="checkbox" name="yourbook" value="C++">《C++ 從入門到放棄》</input>
      <input type="checkbox" name="yourbook" value="headfirst">《HeadFirst 設(shè)計(jì)模式》</input>
      <br />
      <input type="checkbox" name="yourbook" value="Java">《Thinking in Java》</input>
      <input type="checkbox" name="yourbook" value="django">《姜哥的Django匠人生活》</input>
    </div>
  </body>
</html>

然后把myplug.js中elements段的內(nèi)容改成下面這樣,將iframe的src指向我們自己的創(chuàng)建的頁(yè)面:

  contents:           //每一個(gè)contents在對(duì)話框中都是一個(gè)tab頁(yè)
      [
        {
          id: 'user',      //contents的id
          label: 'You name',
          title: 'You name',
          elements:
          [
            {
              type: "html",
              html: "<iframe id='myiframe' width='100%' height='100%' src='" + "./myiframe.html" + "'></iframe>",
              style: "width:800px;height:580px;padding:0;"
            }
          ]
        }
      ],

保存后打開(kāi)看效果:

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

太棒了!頁(yè)面出來(lái)了,那么,我們?cè)趺传@取獲取頁(yè)面上的輸入值和復(fù)選框的值呢?
還記得上一節(jié),我們打的那些代碼中,那些onLoad,onShow之類的函數(shù)嗎?其實(shí)看名字,都可以知道,這些函數(shù)被觸發(fā)的時(shí)刻,當(dāng)我們點(diǎn)擊“確定”按鈕的時(shí)候,會(huì)觸發(fā)onOk事件,同時(shí)自動(dòng)調(diào)用onOk()函數(shù),那我們就在onOk()里寫點(diǎn)兒代碼吧。

  onOk: function () {
        var html = "";
        var your_name = document.getElementById('myiframe').contentDocument.getElementById('username');
        //使用JS最基礎(chǔ)的getElementById找到我們的iframe控件,然后再獲取id為username的控件
        html = html + "<h3>" + your_name.value + ": </h3>";
        var selected_books = document.getElementById('myiframe').contentDocument.getElementsByName('yourbook');
        //使用JS最基礎(chǔ)的getElementById找到我們的iframe控件,然后再獲取所有name為yourBook的控件
        var books = "";
        for(var i=0; i< selected_books.length; i++){
          //遍歷我們的selected數(shù)組
          if (selected_books[i].checked){
            books = books + "<p> " + selected_books[i].value + "</p>";
          }
        }
        html = html + books;
        editor.insertHtml(html);
        this.commitContent();
      },

我們用了最基礎(chǔ)的js語(yǔ)法,從dom對(duì)象中獲取我們想要的控件和控件中的值,學(xué)過(guò)js語(yǔ)法的同學(xué)應(yīng)該一眼就看的出來(lái),這個(gè)真的很簡(jiǎn)單,讓我們來(lái)運(yùn)行一下看看吧:

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

Oooooops!太糟糕了,居然又報(bào)錯(cuò)了,F(xiàn)12打開(kāi)的調(diào)試窗口中,可以看到我們這個(gè)的這個(gè)錯(cuò)誤叫做:

Blocked a frame with origin "null" from accessing a cross-origin frame

錯(cuò)誤的意思是:未捕獲的安全錯(cuò)誤:阻止了一個(gè)域?yàn)閚ull的frame頁(yè)面訪問(wèn)另一個(gè)域?yàn)閚ull的頁(yè)面。

姜哥給他翻譯成人話:其實(shí)是瀏覽器為了避免一種叫做“跨域攻擊”的黑客攻擊手段,阻止了兩個(gè)不同域名之間的dom操作。由于我們的頁(yè)面是本地打開(kāi)的,瀏覽器中的地址欄是類似下面這種的本地地址,因此無(wú)法訪問(wèn)iframe頁(yè)面中的值:file:///E:/%E6%96%B0%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9/ckeditor_4.8.0_full/ckeditor_sample.html

怎么辦呢?其實(shí)一般小伙兒伴開(kāi)發(fā)這個(gè)頁(yè)面,都是運(yùn)行在一個(gè)工程里,或者一個(gè)項(xiàng)目里,本來(lái)就是運(yùn)行在類似http://localhost/xxx這種網(wǎng)絡(luò)地址下的,不會(huì)有問(wèn)題,但是我們現(xiàn)在是想調(diào)試下啊,怎么辦呢。。。

如果只是想調(diào)試學(xué)習(xí)一下,其實(shí)特別簡(jiǎn)單,那就是——換一個(gè)瀏覽器!比如IE瀏覽器,就妥妥啦!

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

注意:這里不是說(shuō)這段代碼在Chrome下無(wú)法運(yùn)行,只是瀏覽器特性不同,chrome不允許這種不在同一個(gè)域名下的內(nèi)嵌頁(yè)面通過(guò)dom接口來(lái)訪問(wèn),安全性比較高。換句話說(shuō)就是,如果我們這段代碼是發(fā)布在一個(gè)網(wǎng)站上,比如你放在nginx里,瀏覽器通過(guò)http://localhost/ckeditor/ckeditor_sample.html這種方式去打開(kāi)我們的頁(yè)面,就沒(méi)有問(wèn)題了!

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

相當(dāng)成功,對(duì)吧?讓我再次點(diǎn)擊我們的插件,發(fā)現(xiàn)了什么?對(duì)了!What the fuck!上次填入的內(nèi)容居然還在里面!

CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作

腫么辦?還記得我們可以使用的函數(shù)嗎?對(duì)!我們可以用onHide()函數(shù),在對(duì)話框關(guān)閉時(shí),刷新一下myiframe.html,以保證下一次打開(kāi)時(shí),是一個(gè)全新的頁(yè)面:

  onHide: function () {
        document.getElementById('myiframe').contentDocument.location.reload();
      },

再次保存之后,嘗試一下,完全正常了。

以上是“CKEDITOR 4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

文章名稱:CKEDITOR4怎么實(shí)現(xiàn)Dialog內(nèi)嵌IFrame操作
網(wǎng)頁(yè)地址:http://aaarwkj.com/article38/phdisp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷全網(wǎng)營(yíng)銷推廣、做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
欧美精品久久91九色| 日本黄色小网站在线播放| 亚洲综合精品久久久一区| 亚洲欧美综合精品久久成人| 国产一级二级三级久久| 欧美精品三级不卡在线| 日韩中文字幕综合不卡| 精品人妻中文字幕在线| 亚洲一区二区三区精品乱码| 久久成人影院免费观看| 国产精品伦一区二区三级| 好狼色欧美激情国产区| 日韩成人中文字幕电影| 国产精品国产三级区| 亚洲国产日朝欧美综合久久| 日韩人成理论午夜福利| 国产我不卡在线观看免费| 下一篇亚洲一区二区三区| 亚洲狠狠爱一区二区三区| 亚洲欧美日韩在线第三页| 久久亚洲天堂色图不卡| 六月丁香花五月婷婷| 欧美日韩国产免费电影| 国产精品熟女亚洲av| 久久精品久久精品欧美大片| 国产大片久久午夜电影| 久久精品国产成人综合| 日韩一区二区三区四区精品| 欧美a级黄片免费在线观看| 亚洲精品午夜久久久伊人| 伊人激情久久综合中文字幕| 成人欧美一区二区三区av| 久久综激情丁香开心婷婷| 国产又粗又长在线视频| 国产传媒视频网站在线观看| 中文字幕av免费专区| 亚洲华人在线免费视频| 日韩女优在线播放一区二区| 91最新精品丝袜国产在线| 亚洲少妇插进去综合网| 久久久精品国产亚洲av色哟哟 |