في الويب، كيف أقرأ محتوى كلمة العميل وأعرضه على الصفحة،
وجدت أن هناك طريقتين، إحداهما تعمل مباشرة على العميل، والأخرى هي تحميل كلمة العميل إلى الخادم للتشغيل. كل من هاتين الطريقتين لها مميزاتها وعيوبها.
سأقدم مثالاً على تشغيل العميل
أولاً، أضف كود js التالي في .aspx
<script language='javascript'>
// يتم وضع ملف تحويل الكلمات الافتراضي ضمن C:\
var os__localPath = "C:\";
// اسم الملف المحفوظ
var os__localFile = "defaultFileWord.htm";
var os__xmlDom = new ActiveXObject("MSXML2.DOMDocument");
var os__xmlFSO;
// احفظ البيانات إلى العميل الحالي (يمكنك تمرير اسم الملف المراد حفظه).
الدالة os_SaveToLocal()
{
var _saveAs = "";
إذا (الوسائط. الطول > 0)
_saveAs = الوسيطات[0] + "";
آخر
_saveAs = os__localFile;
يحاول
{
إذا (os__xmlFSO == فارغة)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
}
قبض (ه) {window.alert (e)؛}
}
// تحويل ملف Word إلى ملف HTML
الدالة WorcChangeHtml()
{
فار os_xmlFSO;
// احصل على كائن التحكم في التحميل
var objUpFile = window.document.Form1.updFile;
// احصل على مسار وملف ملف Word للعميل
var UpFileValue = window.document.Form1.updFile.value;
إذا (os__xmlFSO == فارغة)
os__xmlFSO = new ActiveXObject("Scripting.FileSystemObject");
يحاول
{
إذا (window.document.Form1.updFile.value == "")
{
تنبيه ("الرجاء تحديد ملف Word المقابل")؛
objUpFile.focus();
}
وإلا إذا (UpFileValue.indexOf(".doc") == -1)
{
تنبيه('الملف الذي حددته ليس ملف Wordrnالرجاء تحديد ملف Word الصحيح');
objUpFile.focus();
}
وإلا إذا (!os__xmlFSO.FileExists(objUpFile.value))
{
تنبيه ("ملف Word المقابل غير موجود")؛
objUpFile.focus();
}
آخر
{
فار wdFormatHTML = 8;
var objWord = new ActiveXObject("Word.Application");
objWord.Application.Visible = false;
var objDoc = objWord.Documents.Open(UpFileValue);
objDoc.SaveAs(os__localPath+os__localFile, wdFormatHTML);
window.document.Form1.updFile.value = "";
objDoc.Close();
objWord.Quit();
var GetHtml = GetLine();
var iBeginIndex = GetHtml.indexOf("<body");
var iEndIndex = GetHtml.lastIndexOf("</body>");
GetHtml = GetHtml.substring(iBeginIndex,iEndIndex+7).replace("<body"،<div");
GetHtml = GetHtml.replace("</body>"،</div>");
// قم بتعيين القيمة المحولة إلى قيمة عنصر تحكم الصفحة txtIdea. لحفظ قيمة Word في قاعدة البيانات، استخدم <input type = "hidden".... إذا كنت تريد عرض محتوى Word، فيمكنك ذلك. خذ بعين الاعتبار window.document.Form1 "معرف التحكم في العرض".innerText = GetHtml;
window.document.Form1.txtIdea.value = GetHtml;
}
}
قبض (ه) {window.alert (e)؛}
}
// قراءة الملف النصي
الدالة جيت لاين ()
{
فار fso، txtfile، strValue؛
فار ForReading = 1، ForWriting = 2؛
fso = new ActiveXObject("Scripting.FileSystemObject");
txtfile = fso.OpenTextFile(os__localPath+os__localFile, ForReading);
بينما (!txtfile.AtEndOfStream)
{
strValue = strValue + txtfile.ReadLine();
}
txtfile.Close();
return(strValue);
}
</script>
لاحظ أنه يجب إضافة عنصري التحكم التاليين وأحداث العميل المقابلة إلى الصفحة.
<input id = "updFile" type = "file" style = "الحدود-اليمين: 1 بكسل صلبة؛ الحدود-الأعلى: 1 بكسل صلبة؛ الحدود-اليسار: 1 بكسل صلبة؛ العرض: 77.46%؛ الحدود-السفلى: 1 بكسل صلبة؛ الارتفاع: 26 بكسل"
الحجم = "71"> <نمط الإدخال = "الحدود-اليمين: #999999 1 بكسل صلب؛ الحدود-الأعلى: #999999 1 بكسل صلب؛ حجم الخط: 15 نقطة؛ الحدود-اليسار: #999999 1 بكسل صلب؛ العرض: 103 بكسل؛ الحدود- الأسفل: #999999 1 بكسل، الارتفاع: 28 بكسل"
عند النقر = "WorcChangeHtml ()" runat = "الخادم" id = "btnUpLoad" نوع = "إرسال" قيمة = "استيراد" اسم = "btnUpLoad">
<نمط منطقة النص = "العرض: 15.25%؛ الارتفاع: 23 بكسل" صفوف = "50" cols = "16" معرف = "txtIdea"
تشغيل = "الخادم">
القيمة الموجودة في txtIdea هي المحتوى الموجود في برنامج Word الخاص بالعميل. ملاحظة: تحتاج إلى ضبط إعدادات الأمان الخاصة بـ IE، وإلا ستكون غير صالحة.