Tăng cường tính năng của internet explorer bằng kĩ thuật plug ins

85 234 0
Tăng cường tính năng của internet explorer bằng kĩ thuật plug ins

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trường Đại Học Mở Thành Phố Hồ Chí Minh Khoa : Công Nghệ Thông Tin Khóa Luận Cử Nhân Tin Học Đề Tài : Tăng cường tính Internet Explorer kĩ thuật Plug-ins ¾ ¾ ¾ ¾ Tìm hiểu kĩ thuật Phug-ins ứng dụng IE Tìm hiểu linh kiện phần mềm cung cấp dịch vụ duyệt file HTML Tìm hiểu thư viện chuyển mã font tiếng việt Phận tích thiết kế thực module Plug-ins cho IE để việt hóa giao diện IE hiển thị nội dung trang HTML tiếng việt dùng mã Giáo viên hướng dẫn : Thầy Nguyễn Văn Hiệp Sinh Viên Thực : Trần Thanh Tùng : 10366374 Niên Khóa 2003-2007 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Lời cảm ơn: Em xin gửi lời cảm ơn đến thầy cô giảng viên trường Đại học Mở TP.HCM bạn giúp đỡ em trình thực luận văn Các thầy cô giảng viên khoa Công Nghệ Thông Tin tạo điều kiện cho em thực tốt luận văn Cảm ơn ban giám hiệu trường Đại Học Mở TP.HCM Cảm ơn bạn Nguyễn Quang Hiển – sinh viên khoa CNTH khóa 2003 giúp em trình giải khó khăn tài liệu bạn Đặc biệt, em xin gửi đến thầy Nguyễn Văn Hiệp lời cảm ơn sâu sắc nhiệt tình tận tâm mà thầy giành cho em Trong trình làm thầy chuyền đạt dẩn cho em điều mà em chưa gặp phải, lần em xin chân thành cảm ơn thầy SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 1/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Mục Lục : Chương : Giới Thiệu Nội Dung Và Mục Tiêu Đề Tài 1.1Giới Thiệu Nội Dung 1.2 Mục Tiêu Đề Tài Chương : Kiến Thức Nền Cần Dùng Cho Đề Tài 2.1 Tìm Hiểu Về Ngôn Ngữ Lập Trình C# 2.1.1 Kiến trúc NET Framework 2.1.2COMmon Language Runtime (CLR) 2.1.3 Biên dịch MSIL 2.1.4 gôn ngữ C# ưu điểm 10 2.2 Tìm Hiểu Về BHO 16 2.2.1 Browser Helper Object 16 2.3 Tìm Hiểu Về Registry 18 2.3.1 Giới thiệu Registry 18 2.3.2 Các Lớp NET Registry 20 2.4 Tìm Hiểu Về Font Chữ Việt Và Bản Mã Unicode 21 2.4.1 Tìm Hiểu Về Font Chữ Tiếng Việt 21 2.4.2 Bản Mã Unicode Và Bản Mã Chuẩn 34 2.5 Tìm Hiểu Về Internet Explorer 36 2.5.1 Khái niệm 36 2.5.2 Kiến trúc Internet Explorer 36 2.6 Tìm Hiểu Về COM 38 2.6.1 Khái niệm COM 38 2.6.2 Các vấn đề dùng chung NET COM với 39 2.6.3 NET hỗ trợ COM 39 SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 2/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Chương : Phân Tích Đề Tài 41 3.1 Phân tích nội dung 41 3.1.1 Cách thức việt hóa giao diện 41 3.1.2 Viết Plugins đăng ký kiện với IE 42 3.1.3 Phân tích cách thức duyệt trang HTML 44 3.1.4 Chuyển nội dung trang HTML san mã Unicode 48 3.1.4.1 Chuyển nội dung trang 48 3.1.4.2 Chuyển Font thẻ tag trang 49 3.1.4.3 Nguyên lý chuyển mã tư mã tiếng việt san mã Unicode Chương : Hiện Thực 55 4.1 Hiện Việt Hóa Giao Diện 55 4.2 Hiện Thực Cách Đăng Ký Sự Kiện Với IE 60 4.3 Hiện Thực Cơ Chế Duyệt Trang HTML 75 4.4 Hiện Thực Cơ Chết Chuyển Mã 81 4.5 Chương Trình Đề Mô 82 Chương : Kết Quả Và Hướng Phát Triển .85 5.1 Tổng Kết 85 5.2 Kết Luận 85 5.3 Hướng Phát Triển 85 5.4 Tài Liệu Tham Khảo 85 SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 3/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Chương 1: Giới Thiệu Nội Dung Và Mục Tiêu Đề Tài 1.1 Giới Thiệu Nội Dung : Ngày nay, máy vi tính cá nhân trở nên phổ biến sống đại: từ công sở đến gia đình, từ trường học đến viện nguyên cứu, từ phân xưởng đến bệnh viện… tất hoạt động cần đến máy vi tính Máy tính, với khả mình, giúp cho trình xử lý liệu nhanh chóng kết tốt thời gian sớm Và với xu phổ biến máy tính, internet đời để đáp ứng cho nhu cầu khác nhau, số tìm kiếm thông tin, chia thông tin với người nơi giới tất lĩnh vực Mặc dù internet cung cấp cho nhiều giao thức khác để truy cập, trao đổi liệu Trong phổ biến giao thức HTTP(Hypertext Transfer Protocól) Nói cách khác truy cập Internet phần lớn dựa vào trình duyệt web Vì vậy, công ty lớn giới có liên quan đến công nghệ web Microsoft, Nestcape, Mozilla… đua đưa trình duyệt web dựa giao thức HTTP nhầm tăng cường khả hổ trợ người dùng Nhờ người dùng internet hưởng lợi từ cạnh tranh này: hầu hết trình duyệt web : Internet Explorer, Nestcape navigator, Mozilla Firefox…đều miễn phí cập nhật liên tục Trong người khổng lồ Microsoft với trình duyệt Internet Explorer xem phổ biến ưu điểm sau : Internet Explorer miễn phí kèm theo tất phiên Hệ Điều Hành Windows Ít chiếm tài nguyên hệ thống , hoạt động ổn định Nó cung cấp sở hạ tầng để giao tiếp, nên có nhiều hãng thứ ba viết plug-ins giao tiếp với Internet Explorer để phục vụ cho nhu cầu khác Ra đời sớm, nên chiếm nhiều tình cảm người dùng Hiện 90% người dùng Hệ Điều Hành Windows sử dụng trình duyệt Internet Explorer Điều cho thấy, internet explorer có sức ảnh hưởng lớn cộng đồng internet Bên cạnh đó, người dùng Việt gặp không khó khăn sử dụng trình duyệt web với hệ ngôn ngữ khác, cụ thể tiếng anh Mặt dù có gõ, font tiếng việt có trường hợp không SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 4/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp hiển thị tiếng việt, máy font thường xuyên xảy ra, gây không khó khăn cho người dùng việt Với nhu cầu thực tế đó, thầy Nguyễn Văn Hiệp cho đề tài : Tăng cường tính Internet Explorer kĩ thuật Plug-ins Tìm hiểu kĩ thuật Phug-ins ứng dụng IE Tìm hiểu linh kiện phần mềm cung cấp dịch vụ duyệt file HTML Tìm hiểu thư viện chuyển mã font tiếng việt Phận tích thiết kế thực module Plug-ins cho IE để việt hóa giao diện IE hiển thị nội dung trang HTML tiếng việt dùng mã Em : Trần Thanh Tùng sinh viên khoa CNTT trường Đại Học Mở TP.HCM nhận thực đề tài với hướng dẩn thầy Nguyễn Văn Hiệp 1.2 Mục Tiêu Đề Tài : Với mục tiêu giúp người dùng việt cẩm thấy dễ dàng thân thiện với ngôn ngữ việt ( việt hóa giao diện Internet Explorer ) giải số vấn đề mà người dùng internet thường gặp cảm thấy khó chịu : nhận thư tiếng việt mà không đọc máy không cài Font…vvv Một ví dụ cụ thể : người thành phố gửi thư cho người việt hải ngoại, dùng mã TCVN hay VNI Windows VNI-Times hay VnArial người nhận hải ngoại thường không đọc họ không cài Font VNI hay Font VnArial Khi chương trình giúp họ hiển thị tiếng việt mà không cần cài font vào Một ví dụ khác: thiết kế web site việt thường quen dùng font VNI-Times để thiết người dùng truy cập máy font không hiển thị Tất nhiên người không chuyên nghiệp trang web thiết kế vào năm trước mã Unicode chưa phổ biến người dùng chưa biết nhiều font chữ mã tiếng việt Tóm lại đề tài mong hổ trợ phần vào việc giải rối người dùng Internet trình duyệt Internet Explorer giúp cho người việt cảm thấy thân thiện với giao diện IE ngôn ngữ tiếng Việt Từ giao diện tiếng việt người dùng phần hiểu tùy chọn, hay tùy chỉnh mà thực IE SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 5/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Chương : Kiến Thức Nền Cần Dùng Cho Đề Tài 2.1 Tìm Hiểu Về Ngôn Ngữ Lập Trình C# 2.1.1 Kiến trúc NET Framework NET Framework platform làm đơn giản việc phát triển ứng dụng môi trường phân tán Internet .NET Framework thiết kế đầy đủ để đáp ứng theo quan điểm sau: ¾ Để cung cấp môi trường lập trình hướng đối tượng vững chắc, mã nguồn đối tượng lưu trữ thực thi cách cục Thực thi cục phân tán Internet, thực thi từ xa ¾ Để cung cấp môi trường thực thi mã nguồn mà tối thiểu việc đóng gói phần mềm tranh chấp phiên ¾ Để cung cấp môi trường thực thi mã nguồn mà đảm bảo việc thực thi an toàn mã nguồn, bao gồm việc mã nguồn tạo hãng thứ ba hay hãng mà tuân thủ theo kiến trúc NET ¾ Để cung cấp môi trường thực thi mã nguồn mà loại bỏ lỗi thực script hay môi trường thông dịch ¾ Để làm cho người phát triển có kinh nghiệm vững nắm vững nhiều kiểu ứng dụng khác Như từ ứng dụng Windows đến ứng dụng dựa web ¾ Để xây dựng tất thông tin dựa triên tiêu chuẩn công nghiệp để đảm bảo mã nguồn NET tích hợp với mã nguồn khác .NET Framework có hai thành phần chính: COMmon Language Runtime (CLR) thư viện lớp NET Framework CLR tảng NET Framework Chúng ta hiểu runtime agent quản lý mã nguồn thực thi, cung cấp dịch vụ cốt lõi như: quản lý nhớ, quản lý tiểu trình, quản lý từ xa Ngoài thúc đẩy việc sử dụng kiểu an toàn hình thức khác việc xác mã nguồn, đảm bảo cho việc thực bảo mật mạnh mẽ Thật vậy, khái niệm quản lý mã nguồn nguyên lý tảng runtime Mã nguồn mà đích tới runtime biết mã nguồn quản lý (managed code) Trong mã nguồn mà SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 6/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp đích tới runtime biết mã nguồn không quản lý (unmanaged code) Thư viện lớp, thành phần khác NET Framework tập hợp hướng đối tượng kiểu liệu dùng lại, cho phép phát triển ứng dụng từ ứng dụng truyền thống COMmand-line hay ứng dụng có giao diện đồ họa (GUI) đến ứng dụng cung cấp ASP.NET, Web Form dịch vụ XML Web 2.1.2 COMmon Language Runtime (CLR) Như đề cập CLR thực quản lý nhớ, quản lý thực thi tiểu trình, thực thi mã nguồn, xác nhận mã nguồn an toàn, biên bịch dịch vụ hệ thống khác Những đặc tính tảng cho mã nguồn quản lý chạy CLR Do trọng đến bảo mật, thành phần quản lý cấp mức độ quyền hạn khác nhau, phụ thuộc vào nhiều yếu tố nguyên thủy chúng như: liên quan đến Internet, hệ thống mạng nhà máy, hay máy tính cục Điều có nghĩa rằng, thành phần quản lý có hay SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 7/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp quyền thực thao tác truy cập tập tin, thao tác truy cập registry, hay chức nhạy cảm khác CLR thúc đẩy việc mã nguồn thực việc truy cập bảo mật Ví dụ, người sử dụng giới hạn việc thực thi nhúng vào trang web chạy hoạt hình hình hay hát nhạc, truy cập liệu riêng tư, tập tin hệ thống, hay truy cập mạng Do đó, đặc tính bảo mật CLR cho phép phần mềm đóng gói Inernet có nhiều đặc tính mà không ảnh hưởng đến việc bảo mật hệ thống CLR thúc đẩy cho mã nguồn thực thi mạnh mẽ việc thực thi mã nguồn xác xác nhận mã nguồn Nền tảng việc thực COMmon Type System (CTS) CTS đảm bảo mã nguồn quản lý tự mô tả (selfdescribing) Sự khác Microsoft trình biên dịch ngôn ngữ hãng thứ ba việc tạo mã nguồn quản lý thích hợp với CTS Điều mã nguồn quản lý sử dụng kiểu quản lý khác thể hiện, thúc đẩy nghiêm ngặt việc sử dụng kiểu liệu xác an toàn Thêm vào đó, môi trường quản lý runtime thực việc tự động xử lý layout đối tượng quản lý tham chiếu đến đối tượng, giải phóng chúng chúng không sử dụng Việc quản lý nhớ tự động giải hai lỗi chung ứng dụng: thiếu nhớ tham chiếu nhớ không hợp lệ Trong runtime thiết kế cho phần mềm tương lai, hỗ trợ cho phân mềm ngày trước Khả hoạt động qua lại mã nguồn quản lý mã nguồn không quản lý cho phép người phát triển tiếp tục sử dụng thành phần cần thiết COM DLL Rutime thiết kế để cải tiến hiệu suất thực Mặc dù CLR cung cấp nhiều tiêu chuẩn dịch vụ runtime, mã nguồn quản lý không dịch Có đặc tính gọi Just-in-Time (JIT) biên dịch tất mã nguồn quản lý vào ngôn ngữ máy hệ thống vào lúc mà thực thi Khi đó, trình quản lý nhớ xóa bỏ phân mảnh nhớ gia tăng tham chiếu nhớ cục bộ, kết gia tăng hiệu thực thi 2.1.3 Biên dịch MSIL Trong NET Framework, chương trình không biên dịch vào tập tin thực thi mà thay vào chúng biên dịch vào tập tin trung gian gọi Microsoft Intermediate Language (MSIL) Những tập tin MSIL tạo từ C# tương tự tập tin MSILđược tạo từ ngôn ngữ khác SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 8/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp NET, platform không cần biết ngôn ngữ mã nguồn Điều quan trọng yếu CLR chung (COMmon), runtime hỗ trợ phát triển C# VB.NET Mã nguồn C# biên dịch vào MSIL build project Mã MSIL lưu vào tập tin đĩa Khi chạy chương trình, MSIL biên dịch lần nữa, sử dụng trình biên dịch Just-In-Time (JIT) Kết mã máy thực thi xử lý máy Trình biên dịch JIT tiêu chuẩn thực theo yêu cầu Khi phương thức gọi, trình biên dịch JIT phân tích MSIL tạo sản phẩm mã máy có hiệu cao, mã chạy nhanh Trình biên dịch JIT đủ thông minh để nhận mã biên dịch, ứng dụng chạy việc biên dịch xảy cần thiết, tức biên dịch mã MSIL chưa biên dịch mã máy Khi ứng dụng NET thực hiện, chúng có xu hướng chạy nhanh nhanh nữa, mã nguồn biên dịch dùng lại Do tất ngôn ngữ NET Framework tạo sản phẩm MSIL giống nhau, nên kết đối tượng tạo từ ngôn ngữ truy cập hay dẫn xuất từ đối tượng ngôn ngữ khác NET Ví dụ, người phát triển tạo lớp sở VB.NET sau dẫn xuất C# cách dễ dàng 2.1.4 Ngôn ngữ C# ưu điểm Ngôn ngữ C# đơn giản, khoảng 80 từ khóa mười kiểu liệu xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao thực thi khái niệm lập trình đại C# bao gồm tất hỗ trợ cho cấu trúc, thành phần COMponent, lập trình hướng đối tượng Những tính chất diện ngôn ngữ lập trình đại Và ngôn ngữ C# hội đủ điều kiện vậy, xây dựng tảng hai ngôn ngữ mạnh C++ Java Ngôn ngữ C# phát triển đội ngũ kỹ sư Microsoft, người dẫn đầu Anders Hejlsberg Scótt Wiltamuth Cả hai người điều người tiếng, Anders Hejlsberg biết đến tác giả Turbo Pascal, ngôn ngữ lập trình PC phổ biến Và ông đứng đầu nhóm thiết kế Borland Delphi, thành công việc xây dựng môi trường phát triển tích hợp (IDE) cho lập trình client/server Phần cốt lõi hay gọi trái tim ngôn ngữ lập trình hướng đối tượng hỗ trợ cho việc định nghĩa làm việc với lớp Những lớp định nghĩa kiểu liệu mới, cho phép người phát triển mở rộng SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 9/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Đừng quên thêm đoạn : using Microsoft.Win32 Trong đoạn mã ta sử dụng đối tượng Registry RegistryKey đối tượng mà ta giới thiệu phần trước Mục đích chủ yếu hai hàm đăng ký khóa Registry để IE chạy biết tìm BHO vị trí nào, GUID Cuối biên dịch chạy chương trình À chương trình Plug-ins thân không tự chạy mà phải nhờ Internet Explorer chạy chạy theo Sau biên dịch ta nhận file dll : Và nhiệm vụ cuối đăng ký file dll Internet Explorer nhận gọi IE kích Để đăng ký assemply ta dùng trình RegAsm.exe, chút thông tin trình RegAsm : NET SDK cung cấp công cụ RegAsm.exe dùng để tạo phần tử cần thiết cho hệ thống Registry RegAsm tạo thư viện kiểu, tập tin tlb dùng để mô tả kiểu gói kết hợp assemply Các phần tử Registry giống tương tự bên đối tượng COM cho phép tải gói NET quản lý(Managed Assemply) Ngoài việc dùng RegAsm.exe để đăng ký Managed Assemply, dùng để thêm gói assembly, vào GAC, Global Assembly Cache Bạn sử dụng chương trình gacutil.exe để thực công việc Cách thức đăng ký băng RegAsm : trước tiên chạy COMmand prom Sau di chuyển đến thư C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 mục : Rồi chạy lệnh regasm Ta xem đối số mà trình cung cấp cách gõ : regasm /? SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 70/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Ta có hai đối số cần quan tâm : - /codebase : thiết lập dòng mã đăng ký registry file dll - /unregister : gở bỏ đăng ký file định Nếu đăng ký thành công bạn có dòng thông báo : SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 71/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Nếu đăng ký thất bại bạn có dòng thông báo Nếu đăng ký thành công bạn nhìn thấy thành bạn registry theo đường dẩn : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVer sion\Explorer\Browser Helper Objects SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 72/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Và thấy Plugins trình duyệt Internet Explorer : 4.3 Hiện Thực Cơ Chế Duyệt Trang HTML Trong phần phân tích phần hiểu chế duyệt trang HTML kiến trúc trang web bình thường SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 73/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Bây vào chi tết trình duyệt trang HTML Trang HTML xây dựng theo kiến trúc DOM nên thứ tự thành phần không thay đổi Từ hình ta biết phần tử trang có thứ bật phần tử đối tượng, từ ta thao tác đối tượng riêng lẽ duyệt qua phần tử Ta xát định cấu trúc đặc tính trang HTML, nói khó hiểu, ta tìm hiểu đoạn mã cụ thể tiến hành duyệt theo bước : Xét đoạn mã sau : khúc thơ hay bất tri tam bách dư niên hậu Thiên hạ hà nhân khóc tố như đầu giường ánh trăng rọi Sàn tiền minh nguyệt quang Không Phân tích đoạn mã : Từ Node P ta có node SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 74/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Ba node đầu có nodetype = 1, node cuối có nodetype = Đây dấu hiệu nhận diện đối tượng text trang HTML Vậy từ node P lấy firstChild ta node h1, lấy nextSibling ta node = null Lấy lastChild node text “không cả” Sau mã chương trình duyệt trang HTML để lấy nội dung text : mshtml.IHTMLDOMNode iDomNode = e; while (iDomNode != null) { XuLyText(iDomNode); if (iDomNode.hasChildNodes()) DuyetNode(iDomNode.firstChild); iDomNode = iDomNode.nextSibling; } Trong đoạn mã ta dùng giải thuật đệ quy để duyệt phần tử trang HTML Ban đầu ta cung cấp cho node trang, thường node thích, tức node có nodename #COMment, nodetype = từ node duyệt hết node lại tới nói nextSibling Đối với node lại duyệt hết Trong đoạn mã có hàm XuLyText hàm cho ta lọc node text tức node có nodetype =3 node text node Sau lọc song ta tiến hành chuyển mã ký tự text vừa nhận Nội dung trang HTML sử lý, ta chuyển mã nội dung văn chưa đủ, font hoăc font không trang web vẩn hiển thị sai Vậy thực chế tìm, tách chuyển font cho phù hợp Chú ý rằng, font có font tương ứng với mã khác, tức font chuyển Vì vậy, giải pháp cho vấn để là: font không chuyển ta tạm thời thay băng font “Times New Roman”, giải pháp tạm thời Và giải thuật duyệt trang HTML để lấy chuyển font: Trong chương chứng ta tìm hiểu thuộc tính tag đặc tính thuộc tính font, nơi font xuất đối tượng sử lý font SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 75/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Thuộc tính font thẻ tag có thẻ FONT với thuộc tính face Còn lại dạng CSS Một trang web thường sử dụng CSS để thiết lập thuộc tính font thuộc tính kích thước, màu sắc…riêng quan tâm đến thuộc tính font Chúng ta xem lại ba dạng CSS có chứa thuộc tính font : - External Style Sheet : dạng chứa file css bên tham chiếu đến đối tượng IHTMLLinkElement IHTMLLinkElement : interface cung cấp phương thức để truy cập phần tử link , phần tử được sát định đường link đến tài liệu external Interface cung cấp thuộc tính StyleSheet để trả đối tượng IHTMLStyleSheet SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 76/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Dạng : DocumentWideStyle Dạng CSS thường nằm thể tag Style phần Head Ta cần duyệt tag lấy thuộc tính đối tượng Style cung cấp cho ta interface IHTMLStyleSheet Interface cho phép truy cập đối tượng mô tả single style sheet tài liệu SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 77/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Trong thuộc tính, ta quan tâm đến thuộc tính Rules interface này, trị trả thuộc tính interface IHTMLStyleSheetRulesCóllection Interface IHTMLStyleSheetRulesCollection cung cấp thuộc tính items để lấy thuộc tính style font-family từ ta xét thuộc tính font cho phần tử tập hợp Để giảm độ phức tạp giải thuật duyệt, duyệt font tách rời làm hai lần duyệt: - lần đầu duyệt tag Head để lấy CSS từ External Style DocumentWideStyle public void SetFontOutTerCSS(mshtml.IHTMLDOMNode e) { try { mshtml.IHTMLStyleSheet ihsShet = ((mshtml.IHTMLLinkElement)e).styleSheet; string stemp = ihsShet.cssText; int dem = ihsShet.rules.length; mshtml.HTMLStyleSheetRulesCóllection issrCóllec = ihsShet.rules; for (int i = 0; i < dem; i++) { string schuabiet = issrCollec.item(i).selectorText; string stam = issrCollec.item(i).style.font; string sbien = issrCollec.item(i).style.fontFamily; issrCollec.item(i).style.fontFamily = ConverFonts(sbien); } SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 78/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp } catch (Exception exc) { MessageBox.Show(exc.ToString()); } } - lần hai: duyệt từ body, lấy thuộc tính font từ tag font font CSS dạng InerStyle public void DuyetNodeHead(mshtml.HTMLDocument e) { mshtml.IHTMLDOMNode ihdNodeHead = null ; if (e.firstChild.nodeType.Equals(8)) ihdNodeHead = e.firstChild.nextSibling.firstChild; else ihdNodeHead = e.firstChild.firstChild; // phan tren lay tu node Head mshtml.IHTMLDOMNode ihNodeDuyet = ihdNodeHead.firstChild; while (ihNodeDuyet != null) { if(ihNodeDuyet.nodeName.Equals("STYLE")) SetFontTagStyle(ihNodeDuyet); if (ihNodeDuyet.nodeName.Equals("LINK")) SetFontOutTerCSS(ihNodeDuyet); ihNodeDuyet = ihNodeDuyet.nextSibling; } } Như ta duyệt toàn trang web lấy text font từ inner đến external style sheet 4.4 Hiện Thực Cơ Chế Chuyển Mã Nguyên lý việc chuyển mã từ mã sang mã khác giới thiệu chương thực phương thức hổ trợ việc chuyển mã SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 79/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Thầy Nguyễn Văn Hiệp cung cấp đối tượng COM BkTrans đảm trách nhiệm vụ chuyển mã văn bản, chuyển mã font chữ… Các phương thức đối tượng BkTrans : Khai báo đối tượng BkTrans: BKTRANSLib.IBkTransLib m_bktrans; public Form1() { InitializeCOMponent(); m_bktrans = new BKTRANSLib.BKTRANSLibClass(); int i = m_bktrans.Init(); } 4.5 Chương Trình Đề Mô Chương trình xuất file dll đăng ký trình RegAsm SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 80/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Internet explorer font, hiển thị sai nội dung : Kích hoặt đối tượng COM để lắng nghe kiện thực hiển chuyển mã : SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 81/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Sau đăng ký COM hiển thị lại : SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 82/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Chương : Tổng Kết Và Hướng Phát Triển 5.1 Tổng kết : Đánh giá kết đạt chưa : Cho đến chương trình chuẩn hóa tiếng việt cho Internet Explorer plug-in chạy được, số vấn đề chưa giải : Chưa kiểm tra trang hiển thị hay sai trước duyệt trang chuyển mã Giải thuật duyệt trang chưa thực tốt (tốn nhiều tài nguyên hệ thống, làm chậm trình load trang) Chưa việt hóa giao diện Internet Explorer (Chương trình chạy tốt) 5.2 Kết luận: Với hướng dẫn nhiệt tình thầy Nguyễn Văn Hiệp nỗ lực em, hoàn thành yêu cầu đề ra, chủ yếu phần duyệt chuyển nội dung trang HTML sang chuẩn Unicode để hiển thị Internet Explorer Riêng phần việt hóa giao diện Internet Explorer hoàn thành việt hóa giao diện từ IE , 5, (từ IE4 hổ trợ plug-in) 5.3 Hướng phát triển : Tìm cách việt hóa giao diện Internet Explorer Tìm giải pháp duyệt trang HTML nhanh hơn, hiệu qua tốn tài nguyên 5.4 Tài liệu tham khảo : MSDN Library 2005 o managed HTML DOM o HTML Element o HTML and Dynamic HTML MS Press - Programming Microsoft Internet Explorer SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 83/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp HTML & XHTML: The COMplete Reference, Fourth Edition Definitive Guide to Windows Installer How to attach to Browser Helper Object (BHO) with C# in two minutes - The Có.pdf Đồ án môn học trình biên dịch HTML sang XML bạn Nguyễn Quang Hiển Luận văn tốt nghiệp Plug-in chặn trang web xấu hai bạn : Lê Nguyễn Minh Tuấn Đặng Thanh Vi SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 84/84 [...]... là một DLL module được thiết kế giống như một plug- in cho IE của Microsoft để cung cấp thêm các tính năng cho browser Một BHO là một COM in-process server được lưu dưới dạng một DLL, nó cho phép người phát triển tùy chỉnh và điều khiển Internet Explorer BHOs là ActiveX DLLs, nó có khả năng plug- in, run, và tương tác với mỗi thực thể của Explorer Chức năng của BHOs : BHOs cho phép người phát triển tùy... Hiểu Về Internet Explorer Tổng quan về Internet Explorer 2.5.1 Khái niệm: Internet Explorer là trình duyệt web (web browser) được phát triển bởi Microsoft được sử dụng để tìm kiếm (search) và xem các file trên world wide web Internet Explorer là một phần mềm máy tính cung cấp cho người sử dụng khả năng duyệt (browse) world wide web và di chuyển một site, document…tới một nơi khác Internet Explorer. .. inprocess server nên khi được khởi tạo các instance của BHO sẽ ở trong cùng phân vùng với tiến trình Iexplorer.exe, vì vậy IE có thể truy cập tới các dịch vụ của BHO một cách nhanh chóng giống như nó đang gọi các phương thức của chính nó Thời gian sống của Browser Helper Objects - Thời gian sống của các BHOs bắt đầu từ khi IE khởi động ( thơng qua việc chạy chương trình iexplorer.exe) cho tới khi IE được đóng... Internet Explorer thường được viết tắt là IE hoặc MSIE ( Microsoft Internet Explorer ) 2.5.2 Kiến trúc của Internet Explorer SVTH: Trần Thanh Tùng MSSV: 10366374 Trang 34/84 Luận văn tốt nghiệp GVHD Thầy: Nguyễn Văn Hiệp Về bản chất thì kiến trúc của IE là sử dụng component Object Modele (COM) Vì vậy nó cho phép người thứ ba thêm các tính năng mà IE khơng cung cấp thơng qua Browser Helper Object (HBO)... phần của IE Các thành phần của IE được chia làm 5 mức: + IExplorer.exe : ở mức trên cùng, là một chưng trình có khả năng thực thi Nó là một ứng dụng nhỏ điều khiển các thành phần của IE để thực hiện cơng việc của mình như : hiển thị, điều hướng, hiện thực giao thức + BrowserUI.dll cung cấp các giao diện người sử dụng cho IE như : address bar, menu bar, Status bar… + ShDocVw.dll cung cấp các tính năng. .. đặc tính hướng thành phần (COMponentoriented), như là những thuộc tính, những sự kiện Lập trình hướng thành phần được hỗ trợ bởi CLR cho phép lưu trữ metadata với mã nguồn cho một lớp Metadata mơ tả cho một lớp, bao gồm những phương thức và những thuộc tính của nó, cũng như những sự bảo mật cần thiết và những thuộc tính khác Mã nguồn chứa đựng những logic cần thiết để thực hiện những chức năng của. .. mà chúng ta đang visit đang cố gắng lấy trộm thứ gì đó như kết nối tới một website khác, mà thật ra chỉ là do BHO ở trong browser của chúng ta đã làm chuyện đó Cách Internet Explorer tải và khởi tạo BHOs Cách thức load và tạo một instance của COM server ( ở đây client là IExplorer.exe và server là BHOs DLL) Vì BHOs là COM inprocess server nên mỗi BHOs sẽ có một CLSID riêng dùng để định danh duy nhất... bắt đầu từ khi IE khởi động ( thơng qua việc chạy chương trình iexplorer.exe) cho tới khi IE được đóng hay window bị hủy Tức là, mỗi lần một của sổ mới được mở, nó tạo một bản sao của BHO và khi của sổ này bị đóng, nó phá hủy các bản sao BHO của nó Đối với Internet Explorer 7, nó sẽ tạo và phá hủy một BHO mới cho mỗi tab Tức là BHO sẽ được tạo ra khi một tab mới được tạo và hủy đi khi tab này đóng lại... Tìm Hiểu Về Font Chữ Tiếng Việt : VISCII là một chuẩn bị của nhóm khoa học gia Tricholor Trong chuẩn này mỗi mẫu tự được biểu diễn bằng một byte (8 bít) Nhóm Tricholor dùng các con số trống của bộ chữ ASCII ( của Mỹ- A là viết tác của American, trong khi VI cho Vietnamese) để biểu diễn các chữ Việt Nam có dấu Vì con số lớn nhất có thể biểu diễn bằng 1 byte là 255, đó là tổng số mẫu tự Việt Nam tối đa... tích của ứng dụng đang chạy 2.3.2 Các Lớp NET Registry : Việc truy cập vào registry trên NET thơng qua hai lớp Registry và RegistryKey thuật Namspace Microsoft.Win32, một thể hiện của lớp RegistryKey tượng trưng cho một registry key Lớp RegistryKey cung cấp những thành viên cốt lõi cho phép bạn làm việc với registry key Các thành viên cốt lõi của lớp RegistryKey Các thành viên Ý Nghĩa Name Thuộc tính ... Với nhu cầu thực tế đó, thầy Nguyễn Văn Hiệp cho đề tài : Tăng cường tính Internet Explorer kĩ thuật Plug- ins Tìm hiểu kĩ thuật Phug -ins ứng dụng IE Tìm hiểu linh kiện phần mềm cung cấp dịch... 3.1.2 Viết Plug- Ins Đăng Ký Sự Kiện Với Internet Explorer Thực chất chết Plug- Ins tạo đối tượng chờ đợi lắng nghe thơng điệp thiết lập cho thực thi Nó hoạt động mơ hình COM Trong Internet Explorer. .. Về Internet Explorer Tổng quan Internet Explorer 2.5.1 Khái niệm: Internet Explorer trình duyệt web (web browser) phát triển Microsoft sử dụng để tìm kiếm (search) xem file world wide web Internet

Ngày đăng: 18/12/2015, 04:38

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan