nevercom
کاربر متخصص انجمن مولتی مدیا بیلدر
سلام دوستان عزیز
راستش من زیاد با جاوا اسکریپت آشنایی ندارم، یک کد هم پیدا کردم اما نتونستم ازش استفاده کنم
سوال من این هست که چطور یک کد جاوا اسکریپت بنویسیم که متنی رو که بهش میدیم، رو در صفحه پیدا کنه و همشون رو هایلایت کنه، مثل جستجو گرهایی که در مرورگرها وجود داره.
البته من این کد رو برای یک صفحه ی اینترنتی نمیخوام، در MMB ما شئ Browser داریم که در واقع از IE خود سیستم عامل استفاده میکنه، حالا صفحه ی HTML ما تو این شئ لود شده و درواقع ما به سورسش دسترسی نداریم
در عوض یک کد جاوا اسکریپت رو بعنوان URL لود میکنیم در اون شئ تا عملیاتی که موردنظر ما هست اجرا بشه
مثلاً کد زیر رو که بعنوان URL لود کنیم، تمامی کلمات MMB رو به Multimedia Builder تغییر میده:
از کد اول که قرار دادم، به شکل زیر استفاده کردم اما نتیجه ای نگرفتم:
ممنون میشم راهنمایی کنید
راستش من زیاد با جاوا اسکریپت آشنایی ندارم، یک کد هم پیدا کردم اما نتونستم ازش استفاده کنم
کد:
var NS4 = (document.layers);
var IE4 = (document.all);
var win = window;
var n = 0;
function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0)
alert("Not found.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert("چنين کلمه اي يافت نشد ");
}
}
return false;
}
البته من این کد رو برای یک صفحه ی اینترنتی نمیخوام، در MMB ما شئ Browser داریم که در واقع از IE خود سیستم عامل استفاده میکنه، حالا صفحه ی HTML ما تو این شئ لود شده و درواقع ما به سورسش دسترسی نداریم
در عوض یک کد جاوا اسکریپت رو بعنوان URL لود میکنیم در اون شئ تا عملیاتی که موردنظر ما هست اجرا بشه
مثلاً کد زیر رو که بعنوان URL لود کنیم، تمامی کلمات MMB رو به Multimedia Builder تغییر میده:
کد:
javascript:replaceText=function(){content=document.body.innerHTML;document.body.innerHTML=content.replace(/MMB/g,'<b>Multimedia Builder</b>');};replaceText()
کد:
javascript:var NS4 = (document.layers); var IE4 = (document.all); var win = window; var n = 0; function findInPage(str) { var txt, i, found; if (str == "") return FALSE; if (NS4) { if (!win.find(str)) while(win.find(str, FALSE, TRUE)) n++; Else n++; if (n == 0) alert("Not found."); } if (IE4) { txt = win.document.body.createTextRange(); for (i = 0; i <= n && (found = txt.findText(str)) != FALSE; i++) { txt.moveStart("character", 1); txt.moveEnd("textedit"); } if (found) { txt.moveStart("character", -1); txt.findText(str); txt.select(); txt.scrollIntoView(); n++; } Else { if (n > 0) { n = 0; findInPage(str); } Else alert("چن?ن کلمه ا? ?افت نشد "); } } return FALSE; };findInPage("MMB");
ممنون میشم راهنمایی کنید
