2016-03-28 13 views
1

私は、以下のコードの 'my​​button's' fuctionを、ポップアップボックスのファイルにコンテンツを保存するよう促す別のコードに置き換えようとしています。 mybuttonは私が使用したいが、そのテキストを挿入する機能を変更する "それは私のボタンだ!"さらに下のコードの関数に渡します。Tinymce - カスタマイズされたjavascript保存ボタンを作成する

<script> 
tinymce.init({ 
    selector: 'textarea', 
    toolbar: 'mybutton', 
    setup: function (editor) { 
    editor.addButton('mybutton', { 
     text: 'My button', 
     icon: false, 
     onclick: function() { 
     editor.insertContent('&nbsp;<b>It\'s my button!</b>&nbsp;'); 
     } 
    }); 
    }, 
    content_css: [ 
    '//fast.fonts.net/cssapi/e6dc9b99-64fe-4292-ad98-6974f93cd2a2.css', 
    '//www.tinymce.com/css/codepen.min.css' 
    ] 
}); 
</script> 

mybutton関数を以下の関数またはdocument.getElement行で置き換える適切な方法がわかりません。私はどうにかして別のコードとしてこれにmybuttonの仕事を持たせることができますか、それともtinymce自体の中になければなりませんか?本当にいいアイデアはありません。

<script type="text/javascript"> 
function saveFileAs() { 
    if (promptFilename = prompt("Save as ADD EXTENSION", "")) { 
     var textBlob = new Blob([document.getElementById("textarea").value], {type:'text/plain'}); 
     var downloadLink = document.createElement("a"); 
     downloadLink.download = promptFilename; 
     downloadLink.innerHTML = "Download File"; 
     downloadLink.href = window.URL.createObjectURL(textBlob); 
     downloadLink.click(); 
    } 
} 

document.getElementById("mybutton").onclick = saveFileAs; 
</script> 

これは意味があります。他に必要なことがあれば教えてください。

EDIT:

以下の答えは助けたが、それはテキストエリアに入力された新しいデータを保存しません。

答えて

0

質問の一部に答えるには、TinyMCE initの関数からページの一部であるJavaScriptを呼び出すことができます。 initは単なるJavaScriptオブジェクトであり、ページ上の他のJavaScriptとやりとりすることができます。 saveFileAs()機能は、あなたがこれを行うことができますページにロードされていると仮定:

tinymce.init({ 
    selector: 'textarea', 
    toolbar: 'mybutton', 
    setup: function (editor) { 
    editor.addButton('mybutton', { 
     text: 'My button', 
     icon: false, 
     onclick: function (editor) { 
     saveFileAs(editor); 
     } 
    }); 
    } 
}); 

あなたはsaveFileAs()方法で行うには何をしようとしていますか?

+0

ありがとうございますが、現在はテキストエリアの現在の内容を元の場所に送信することができません。 – nr1

+0

TinyMCEは入力時に自動的に '