Rumah hujung hadapan web tutorial js Gunakan JavaScript untuk menambah teg Audio pada kemahiran buttons_javascript tersuai Kindeditor

Gunakan JavaScript untuk menambah teg Audio pada kemahiran buttons_javascript tersuai Kindeditor

May 16, 2016 pm 03:10 PM
audio javascript kindeditor

Prosesnya agak mudah dan terutamanya terdiri daripada langkah-langkah berikut:

  • Daftar pemalam (butang, Lang, htmlTag, skrip pemalam)
  • Diubah suai berdasarkan kod pemalam media

Daftar pemalam

Mula-mula, konfigurasikan parameter kindeditor secara global:

KindEditor.lang({
 audio : 'MP3'
});
 KindEditor.options.htmlTags['audio'] = ['src','controls','autoplay','type'];
 KindEditor.options.htmlTags['source'] = ['src','controls','autoplay','type'];
Salin selepas log masuk

Di tempat anda memulakan editor, konfigurasikan parameter item senarai butang dan letakkan
'audio'
Letakkannya di tempat yang betul:

KindEditor.ready(function(K) {
editor = K.create('#info,#spread_info', {
  //其他配置省略...
  items : [
    'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',
    'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
    'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
    'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
    'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
    'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',
     '|' ,'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
    'anchor', 'link', 'unlink', '|', 'about','audio'
  ]
});
Salin selepas log masuk

Untuk membaca lebih mudah, saya meletakkan butang audio di hujung, selepas label "Bantuan".

Untuk membolehkan butang dipaparkan, kami juga perlu menentukan gaya css:

<style>
  .ke-icon-audio {
    background-position: 0px -528px;
    width: 16px;
    height: 16px;
  }
</style>
Salin selepas log masuk

Untuk kemudahan, saya terus menggunakan ikon butang audio dan video terbina dalam Untuk menyesuaikan ikon, sila nyatakan atribut gaya latar belakang.

Akhir sekali, buat skrip

kindeditor/plugins/audio/audio.js
Salin selepas log masuk

Direktori audio dibuat secara manual.

Kami meletakkan

plugins/media/media.js
Salin selepas log masuk
Salin kod dalam

ke audio.js, dan kemudian mula mengubah suainya.

Ubah suai pemalam media

Perkara utama ialah mengalih keluar beberapa atribut yang tidak berguna, seperti lebar, tinggi, automain, dll., dan mengubah suai bahagian kod yang dimasukkan, dan membina kod html teg "audio" secara manual.

/**
 * Created by admin on 15-5-6.
 */

KindEditor.plugin('audio', function(K) {
  var self = this, name = 'audio', lang = self.lang(name + '.'),
    allowMediaUpload = K.undef(self.allowMediaUpload, true),
    allowFileManager = K.undef(self.allowFileManager, false),
    formatUploadUrl = K.undef(self.formatUploadUrl, true),
    uploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');
  self.plugin.media = {
    edit : function() {
      var html = [
        '<div style="padding:20px;">',
        //url
        '<div class="ke-dialog-row">',
        '<label for="keUrl" style="width:60px;">MP3 URL</label>',
        '<input class="ke-input-text" type="text" id="keUrl" name="url" value="" style="width:160px;" />  ',
        '<input type="button" class="ke-upload-button" value="上传" />  ',
        '</div>',

        '</div>'
      ].join('');
      var dialog = self.createDialog({
          name : name,
          width : 450,
          height : 230,
          title : self.lang(name),
          body : html,
          yesBtn : {
            name : self.lang('yes'),
            click : function(e) {
              var url = K.trim(urlBox.val()),
                width = widthBox.val(),
                height = heightBox.val();
              if (url == 'http://' || K.invalidUrl(url)) {
                alert(self.lang('invalidUrl'));
                urlBox[0].focus();
                return;
              }
              if (!/^\d*$/.test(width)) {
                alert(self.lang('invalidWidth'));
                widthBox[0].focus();
                return;
              }
              if (!/^\d*$/.test(height)) {
                alert(self.lang('invalidHeight'));
                heightBox[0].focus();
                return;
              }
              var html = '<p><audio src="'+url+'" controls="controls"></audio><br/></p>';
              self.insertHtml(html).hideDialog().focus();
            }
          }
        }),
        div = dialog.div,
        urlBox = K('[name="url"]', div),
        viewServerBtn = K('[name="viewServer"]', div),
        widthBox = K('[name="width"]', div),
        heightBox = K('[name="height"]', div),
        autostartBox = K('[name="autostart"]', div);
      urlBox.val('http://');

      if (allowMediaUpload) {
        var uploadbutton = K.uploadbutton({
          button : K('.ke-upload-button', div)[0],
          fieldName : 'imgFile',
          url : K.addParam(uploadJson, 'dir=audio'),
          afterUpload : function(data) {
            dialog.hideLoading();
            if (data.error === 0) {
              var url = data.url;
              if (formatUploadUrl) {
                url = K.formatUrl(url, 'absolute');
              }
              urlBox.val(url);
              if (self.afterUpload) {
                self.afterUpload.call(self, url);
              }
              alert(self.lang('uploadSuccess'));
            } else {
              alert(data.message);
            }
          },
          afterError : function(html) {
            dialog.hideLoading();
            self.errorDialog(html);
          }
        });
        uploadbutton.fileBox.change(function(e) {
          dialog.showLoading(self.lang('uploadLoading'));
          uploadbutton.submit();
        });
      } else {
        K('.ke-upload-button', div).hide();
      }

      if (allowFileManager) {
        viewServerBtn.click(function(e) {
          self.loadPlugin('filemanager', function() {
            self.plugin.filemanagerDialog({
              viewType : 'LIST',
              dirName : 'media',
              clickFn : function(url, title) {
                if (self.dialogs.length > 1) {
                  K('[name="url"]', div).val(url);
                  self.hideDialog();
                }
              }
            });
          });
        });
      } else {
        viewServerBtn.hide();
      }

      var img = self.plugin.getSelectedMedia();
      if (img) {
        var attrs = K.mediaAttrs(img.attr('data-ke-tag'));
        urlBox.val(attrs.src);
        widthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);
        heightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);
        autostartBox[0].checked = (attrs.autostart === 'true');
      }
      urlBox[0].focus();
      urlBox[0].select();
    },
    'delete' : function() {
      self.plugin.getSelectedMedia().remove();
    }
  };
  self.clickToolbar(name, self.plugin.media.edit);
});

Salin selepas log masuk

Pada ketika ini, keseluruhan pemalam pada dasarnya telah selesai.

Perlu diambil perhatian bahawa memuat naik fail menggunakan parameter uploadJson konfigurasi biasa, tetapi parameter get "dir=audio" akan ditambahkan secara automatik apabila memuat naik untuk memudahkan pengecaman latar belakang:

url : K.addParam(uploadJson, 'dir=audio'),
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

Pemain kaset FiiO CP13 dilancarkan dengan rupa retro telus Pemain kaset FiiO CP13 dilancarkan dengan rupa retro telus Jun 16, 2024 am 09:52 AM

Pemain kaset FiiOCP13diumumkan pada Januari. Kini, FiiOisexmeningkatkan folio sukan dengan dua model baharu-satu di hadapan dan satu dengan bahagian depan telus. Keduanya sangat sepadan dengan reka bentuk sudut yang lain, tetapi juga

Klipsch memperkenalkan bar bunyi utama Flexus Core 300 dengan sokongan 8K, 12 pembesar suara dan pembetulan bilik Klipsch memperkenalkan bar bunyi utama Flexus Core 300 dengan sokongan 8K, 12 pembesar suara dan pembetulan bilik Sep 05, 2024 am 10:16 AM

Klipsch Flexus Core 300 ialah model teratas dalam siri ini dan diletakkan di atas Flexus Core 200 yang sedia ada dalam barisan bar bunyi syarikat. Menurut Klipsch, ini adalah bar bunyi pertama di dunia yang bunyinya boleh disesuaikan dengan th

Soundcore Space One Pro: Anker mendedahkan set kepala over-ear paling mahal setakat ini Soundcore Space One Pro: Anker mendedahkan set kepala over-ear paling mahal setakat ini Jun 26, 2024 pm 03:07 PM

Anker menawarkan kedua-dua portfolio produk yang luas, yang bukan sahaja merangkumi pelbagai kategori produk, tetapi juga banyak produk dalam setiap kategori. Produk audio tidak terkecuali dalam hal ini, dengan Anker menawarkan set kepala yang sangat berpatutan serta

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 am 09:39 AM

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian Dalam era digital hari ini, semakin banyak perniagaan dan perkhidmatan perlu menyediakan fungsi tempahan dalam talian. Adalah penting untuk melaksanakan sistem tempahan dalam talian yang cekap dan masa nyata. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian dan memberikan contoh kod khusus. 1. Apakah itu WebSocket? WebSocket ialah kaedah dupleks penuh pada sambungan TCP tunggal.

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Dec 17, 2023 pm 12:09 PM

Pengenalan kepada cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata: Dengan populariti Internet dan kemajuan teknologi, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Untuk melaksanakan sistem pesanan dalam talian masa nyata, kami boleh menggunakan teknologi JavaScript dan WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh merealisasikan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Dalam sistem pesanan dalam talian masa nyata, apabila pengguna memilih hidangan dan membuat pesanan

Apakah maksud Audio? Apakah maksud Audio? Dec 25, 2023 pm 03:41 PM

Audio merujuk kepada panjang gelombang, kekerapan dan keamatan bunyi. Ia adalah isyarat yang boleh dilihat oleh sistem pendengaran manusia dan dihasilkan oleh getaran objek. Audio biasanya wujud dalam bentuk gelombang yang boleh dirakam, disimpan, dihantar dan dimainkan semula. ,Audio ialah maklumat multimedia penting yang ,digunakan dalam pelbagai bidang. Dengan perkembangan teknologi digital, audio digital telah menjadi teknologi arus perdana dalam bidang pengeluaran dan penyiaran muzik moden. Pada masa yang sama, pemprosesan dan pendigitalan audio juga merupakan salah satu hala tuju penting teknologi audio moden Mereka boleh meningkatkan kualiti bunyi, meningkatkan kejelasan bunyi dan meningkatkan ekspresi bunyi.

See all articles