2017-08-09 12 views
0

TextAreaのテキストをGoogle Chromeの拡張子の文字列変数の内容に置き換えようとしています。しかし何らかの理由で私の結果に変化はありません。私は拡張子、ポップアップの負荷を使用する場合Chrome Extensionを使用してTextAreaでテキストを置き換える - JavaScript

コンテンツスクリプト(JS)

(function() { 

    // Holds text being selected in browser 
    var lwsSelectedText = ''; 

    // Adds pop-up to current webpage 
    function lwsAddContent(callback) { 

     // Get body tag 
     var body = document.getElementsByTagName('body'); 

     // add invisible div 
     document.body.innerHTML += '<div id="myModal" class="modal"><div class="modal-content"><span class="close">&times;</span><div id="lwsSpanishDiv"><p id="lwsSpanishTitle">Spanish</p><textarea id="lwsSpanishTextArea">Hello</textarea></div><div id="lwsEnglishDiv"><p id="lwsEnglishTitle">English</p><textarea id="lwsEnglishTextArea">Hello 2</textarea></div></div></div>'; 

     callback(lwsSetUpTextGetter); 

    } 

    // Make the pop-up visible and set up close button 
    function lwsActivateContent(callback) { 

     var modal = document.getElementById('myModal'); 

     // Get the textarea 
     var txtarea = document.getElementById("myTxtArea"); 

     // Get the <span> element that closes the modal 
     var span = document.getElementsByClassName("close")[0]; 

     span.onclick = function() { 
      modal.style.display = "none"; 
     } 

     callback(); 

    } 

    // Initialize ability to select and grab text from browser 
    function lwsSetUpTextGetter(callback) { 
     //Set the onmouseup function to lwsGetText 
     document.onmouseup = lwsGetText; 
     //Handling clicking outside webpage? 
     if (!document.all) document.captureEvents(Event.MOUSEUP); 


    } 

    //Gets selected text 
    function lwsGetText(e) { 

     // Get access to spanish text area 
     var spanishText = document.getElementById('lwsSpanishTextArea'); 

     //Get text 
     lwsSelectedText = (document.all) ? document.selection.createRange().text : document.getSelection(); 

     //if nothing is selected, do nothing 
     if (lwsSelectedText != '') { 

      // test: does browser grab text correctly? 
      alert(lwsSelectedText); 

      // Set spanish text area content to the selected text from browser 
      // --Error here: does not set text at all-- 
      spanishText.innerHTML(lwsSelectedText); 

     } 

    } 


    // When document ready 
    $(document).ready(function() { 

     lwsAddContent(lwsActivateContent); 

    }); 

})(); 

、と私はいくつかのテキストをハイライト表示したときに、lwsSelectedTextは正しいテキストを移入し、それが表示されます。ここに私のコードですアラートには表示されますが、テキスト領域には表示されません。 lwsSpanishTextAreaの内容にアクセスしていますか?

ありがとうございます!

答えて

1

入力に値を設定するには、innerHTMLの代わりにvalueプロパティを使用できます。

var lwsSelectedText = "Hello world!"; 
 
var spanishText = document.getElementById("spanishText"); 
 

 
spanishText.value = lwsSelectedText;
<textarea id="spanishText"></textarea>

-1

result of our code in console あなたも私はあなたのコード内の$記号を逃すと思いますが、エラーをチェックするためにWebコンソールであなたのjsのコードを実行することができ、把握するために、下の画像を見つけてください。あなたのエラー。

関連する問題