回答
這也不是那麼困難。最簡單的方法是查看searchreplace插件的searchNext函數(我將在下面添加代碼)。
插件代碼在tinymce彈出窗口中被執行,所以您需要稍微調整它。這裏有您需要事先設置,使功能工作varibales:
var ed = tinymce.get('your_editor_id');
var se = ed.selection;
var r = se.getRng();
// var m = this.lastMode; // not needed here
var fl = 0;
var w = ed.getWin();
var wm = ed.windowManager;
var fo = 0;
//var f = document.forms[0]; //not needed here (plugin relevant)
var s = 'word_to_be_searched_for';
var b = 0; // direction of the search (forward=0, backward = 1)
var ca = 0; // casesensitiviy of the search (not casesensitive = 0, casesensitive = 1)
var rs = ''; // possibility to use a string to replace found text
下面是函數:
searchNext : function(a) {
var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0, err = 0;
// Get input
f = document.forms[0];
s = f[m + '_panel_searchstring'].value;
b = f[m + '_panel_backwardsu'].checked;
ca = f[m + '_panel_casesensitivebox'].checked;
rs = f['replace_panel_replacestring'].value;
if (tinymce.isIE) {
r = ed.getDoc().selection.createRange();
}
if (s == '')
return;
function fix() {
// Correct Firefox graphics glitches
// TODO: Verify if this is actually needed any more, maybe it was for very old FF versions?
r = se.getRng().cloneRange();
ed.getDoc().execCommand('SelectAll', false, null);
se.setRng(r);
};
function replace() {
ed.selection.setContent(rs); // Needs to be duplicated due to selection bug in IE
};
// IE flags
if (ca)
fl = fl | 4;
switch (a) {
case 'all':
// Move caret to beginning of text
ed.execCommand('SelectAll');
ed.selection.collapse(true);
if (tinymce.isIE) {
ed.focus();
r = ed.getDoc().selection.createRange();
while (r.findText(s, b ? 1 : 1, fl)) {
r.scrollIntoView();
r.select();
replace();
fo = 1;
if (b) {
r.moveEnd("character", -(rs.length)); // Otherwise will loop forever
}
}
tinyMCEPopup.storeSelection();
} else {
while (w.find(s, ca, b ? 0 : 0, false, false, false, false)) {
replace();
fo = 1;
}
}
if (fo)
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced'));
else
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
return;
case 'current':
if (!ed.selection.isCollapsed())
replace();
break;
}
se.collapse(b);
r = se.getRng();
// Whats the point
if (!s)
return;
if (tinymce.isIE) {
ed.focus();
r = ed.getDoc().selection.createRange();
if (r.findText(s, b ? -1 : 1, fl)) {
r.scrollIntoView();
r.select();
} else
{
err = 1;
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
}
tinyMCEPopup.storeSelection();
} else {
if (!w.find(s, ca, b, false, false, false, false))
{
err = 1;
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
}
else
fix();
}
// Focus input field if search yieled no error
if (!err && !tinymce.isIE) {
f[m + '_panel_searchstring'].focus();
}
}
我使用上面的代碼,並更改ed變量中的編輯器id和設置搜索詞在s變量,但我不能讓他們選擇下面是代碼''function searchnotes(){ var snote = $('#txt_name')。val(); var ed = tinymce.get(「txtnotes」); var se = ed.selection; var r = se.getRng(); // setRng(r); var fl = 0; var w = ed.getWin(); var wm = ed.windowManager; var fo = 0; var s = snote; alert(r); var b = 0; var ca = 0; var rs =''; } – rohit
那麼你將需要調試代碼行的代碼行 – Thariama
我投下了它,因爲它是不可讀的,你可以使用適當的變量名?很難看到這裏發生了什麼 – Isaac
- 1. TinyMCE的編輯選擇器
- 2. TinyMce編輯器中的普通文本編輯器和富文本編輯器選項
- 3. 無法在TinyMCE富文本編輯器中輸入文本
- 4. 使用javascript在tinymce編輯器中更改文本框文本
- 5. 如何以編程方式選擇TinyMCE編輯器內的所有文本
- 6. 使用TinyMCE作爲文本編輯器
- 7. TinyMCE文本編輯器和默認HTML
- 8. 定製的TinyMCE文本編輯器
- 9. 如何在文本編輯器中智能選擇文本?
- 10. 在ICSharpCode文本編輯器中選擇文本
- 11. Jquery Html文本編輯器選擇
- 12. 編輯時選擇文本
- 13. TinyMce編輯器文本框不可編輯
- 14. 選擇要編輯文本的文本
- 15. 日期選擇器文本框編輯不可編輯
- 16. TinyMCE插件中的TinyMCE編輯器
- 17. tinymce textarea編輯器
- 18. asp.net中的TinyMCE編輯器
- 19. PHP中的Tinymce編輯器
- 20. TinyMCE不會在編輯器中顯示格式化文本
- 21. 如何在Selenium中使用CSS選擇器找到TinyMCE編輯器的主體?
- 22. TinyMCE文本編輯器不加載我的文本
- 23. Android編輯文本 - 在「文本選擇模式」中輸入
- 24. 在「ng-options」選擇列表中編輯所選選項文本
- 25. 腳本錯誤TinyMCE的編輯器
- 26. 在AJAX中使用Tinymce編輯器
- 27. 在TinyMCE編輯器中顯示視頻
- 28. 如何使TinyMCE(富文本編輯器)成爲默認的C5編輯器
- 29. TinyMCE的編輯文本對齊
- 30. tinyMCE文本框顯示在編輯器下面
如果搜索是在一個單一的頁面,然後在瀏覽器的內置_尋找page_中的功能是最簡單的解決方案 – andyb