1

JavaScriptを使用してカスタムWYSIWYGを最初から作成しています。すべて正常に機能していますが(写真の挿入など)、[送信]をクリックしてコンテンツがデータベースに追加されると、YouTubeビデオは次のように挿入されます。

<div><br></div><div><br><div><br></div></div>

WYSIWYGが解析するJavaScriptファイルを作成しました。

function iImage(){
    var imgSrc = prompt('Enter image location', '');
    if (imgSrc != null){
        richTextField.document.execCommand('insertimage', false, imgSrc);
    }
}
function iVideo(){
    var urlPrompt = prompt("Enter Youtube Url:", "http://");
    var urlReplace = urlPrompt.replace("watch?v=", "embed/");
    var embed = '<iframe src="'+urlReplace+'" allowfullscreen="true" width="480" frameborder="0" height="390">';
    if($.browser.msie){
        richTextField.document.createRange().pasteHTML(embed);
    }else{
        richTextField.document.execCommand("Inserthtml", false, embed);
    }
}
function submit_form(){
    var theForm = document.getElementById("blogForm");
    theForm.elements["blogbody"].value = window.frames['richTextField'].document.body.innerHTML;
    theForm.submit();
}

私の関数は機能しますが、私のiImage機能は機能しないことがわかりiVideoます。

誰か助けてもらえますか?

スクリプトをこれに編集したことをお知らせします...

function iVideo(){
    var urlPrompt = prompt("Enter Youtube Url:", "http://");
    var urlReplace = urlPrompt.replace("http://www.youtube.com/watch?v=", "http://www.youtube.com/embed/");
    var embed = '<iframe src="'+urlReplace+'" allowfullscreen="true" width="480" frameborder="0" height="390"></iframe>';
    if($.browser.msie){
        richTextField.document.createRange().pasteHTML(embed);
    }else{
        richTextField.document.execCommand("Inserthtml", false, embed);
    }
}

しかし、それでも喜びはありません

4

4 に答える 4

1

私はそれを持っています。これは以下のコードです

function iVideo(){
    var urlPrompt = prompt("Enter Youtube Url:", "http://");
    var urlReplace = urlPrompt.replace("watch?v=", "embed/");
    var embed = '<iframe title="YouTube video player" src="'+urlReplace+'" allowfullscreen="true" width="480" frameborder="0" height="390">';
    if(embed != null){
        richTextField.document.execCommand("Inserthtml", false, embed);`
    }
}

現在、私のサイトで機能しています。

于 2013-02-25T19:36:56.467 に答える
1

Ultimate Youtube.com が表示されない理由は、アップロード時に追加されるためです。サイトにアップロードする予定のコンテンツを作成するフォームで、コードの最初の行を騙して [ビデオを追加] リンクをクリックし、YouTube ビデオ リンクを送信するように要求するウィンドウをポップアップ表示します。http://youtube.com/theVideoLinkのように。追加したリンクは、それがある場所に配置されますsrc="'+urlReplace+'"

于 2013-03-03T00:19:48.427 に答える
0

最初に、以下のようなハードコードされた/静的なバージョンを最初に試すことができますか?-構文だけであるか、変数の1つが設定されていない可能性があります。

<script type="text/javascript">
   function iVideo(){
      var youtubeiframe='<iframe type="text/html" width="640" height="385" src="http://www.youtube.com/embed/AsbagZvkrbo" frameborder="0"></iframe>';
      richTextField.document.execCommand ("insertHTML", false, youtubeiframe);
   }
</script>
于 2013-01-26T15:01:06.587 に答える
0

ええと、私はjavascriptの初心者ですが、youtube.comが追加されているところはどこにも見当たりません。私が見るのは、watch?v=だけです。私が言ったように、初心者の意見。

于 2013-01-26T14:43:35.477 に答える