1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Tự động update khi trang Web thay đổi

Chủ đề trong 'Hỏi đáp Tin học' bởi Alpha5, 08/05/2004.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. Alpha5

    Alpha5 Thành viên mới

    Tham gia ngày:
    20/08/2003
    Bài viết:
    566
    Đã được thích:
    0
    Tự động update khi trang Web thay đổi

    Truyện là thế này, khi mở một trang nào đó ra để theo dõi, ta không biết được khi nào thì nó thay đổi, như khi có người mới post bài lên chẳng hạn. Chẳng nhẽ lại cứ refresh lại cũng mệt

    Vậy có cách nào cho IE luôn theo dõi việc thay đổi đó không, như định kỳ kiểm tra có thay đổi không chẳng hạn. Cái này có ích cho những người trả lời bài lắm đó.

    Bác nào biết thì xin chỉ bảo . Cám ơn trước !!!
  2. Reddman4ever

    Reddman4ever Thành viên gắn bó với ttvnol.com

    Tham gia ngày:
    09/03/2003
    Bài viết:
    10.486
    Đã được thích:
    1.163
    Đáng ra bác phải đặt tiêu đề là "tự động update hay Refresh khi có thay đổi" chứ
    Cái này ngày truớc em dùng cái Netsonic Pro cái trình tăng tốc luớt web nhờ việc tinh chỉnh thông số và lưu cache đó mà .Cái đó với bản Pro thì còn có thêm chức năng là maximum with Auto Fresh ~~>cái đó dùng khá hay bác dùng thử xem
  3. netsurfer

    netsurfer Thành viên mới

    Tham gia ngày:
    13/04/2004
    Bài viết:
    758
    Đã được thích:
    1
    Anh dùng Opera, có chức năng tự động refresh các cửa sổ browser trong 10/30/60/120/300/600/900 seconds, . [​IMG] Anh bỏ máy chạy một mình, đi ra ngoài chơi thể thao thoải mái, mà số lượng Gold của anh tăng đều. Có hôm được tới 35 gold cho 24 giờ online. Khoái chưa? [​IMG]
  4. Alpha5

    Alpha5 Thành viên mới

    Tham gia ngày:
    20/08/2003
    Bài viết:
    566
    Đã được thích:
    0
  5. netsurfer

    netsurfer Thành viên mới

    Tham gia ngày:
    13/04/2004
    Bài viết:
    758
    Đã được thích:
    1
    Không có cách nào biết được trang web thay đổi nội dung, trừ phi máy mình là máy chủ CSDL của web, hoặc mình có cách nào đó theo dõi được các lần update CSDL. Nếu theo dõi được cái này thì các chú là siêu hacker roài. Các chương trình có update cache thì sau một khoảng thời gian định sẵn, sẽ connect đến máy chủ, đối chiếu cache và trang hiện thời, nếu có khác biệt thì load trang mới về. Thế thì dùng browser mà refresh còn nhanh hơn. Trên net có một số site cung cấp dịch vụ monitoring web changes, nhưng update interval của mấy site này tính theo ngày, theo tuần, chả phục vụ gì được cho mấy anh em đâu. Đừng nghĩ cao siêu quá làm gì, có automatically update theo thời gian trong browser là đủ dùng roài. Mà cũng có mất công gì đâu. Các browser loại này đều là multitab, thế thì để riêng một tab theo dõi changes của 1 trang nào đó thì cũng có mất gì.
    [​IMG]
    Được netsurfer sửa chữa / chuyển vào 23:08 ngày 08/05/2004
  6. Alpha5

    Alpha5 Thành viên mới

    Tham gia ngày:
    20/08/2003
    Bài viết:
    566
    Đã được thích:
    0
    Đúng đấy ạ, em nghĩ nếu trình duyệt Web có thêm script cho phép theo dõi thay đổi bằng cách so sánh một vài tiêu chí của trang web đó trước sau, như size, date ... thông qua chính Web site đó hoặc một site nào khác, mà không cần so sánh cả trang web. Như vậy ta không cần down cả trang đó về, đỡ mất đường truyền, mà chỉ cẩn gửi một vài thông số là đủ. Chuyện so sánh có thể ở đâu đó trên mạng.
  7. netsurfer

    netsurfer Thành viên mới

    Tham gia ngày:
    13/04/2004
    Bài viết:
    758
    Đã được thích:
    1
    To Alpha5: Chú chỉ có thể so sánh các trang web theo các tiêu chí nào đó nếu đó là trang web tĩnh. Còn ở đây, vấn đề đang nói là web động, cập nhật thường xuyên,  bản thân file chương trình source code viết bằng ASP hoặc php gì gì đó của nó là hoàn toàn không thay đổi, chỉ có nội dung hiển thị là thay đổi thôi, đó là do nội dung các record (bản ghi) thay đổi. Mỗi bài anh em mình post lên đây đều là một record. Còn file gốc http://www.ttvnol.com/hoidaptinhoc/360761.ttvn là không thay đổi gì cả. Vậy nên chú chỉ có thể tracking được thay đổi của trang này, nếu chú tracking được sự thay đổi của các record. Mình mà track được cái đó thì TTVN sụp ngay tắp lự.
     
    Với các ngôn ngữ như asp, php thì nó làm như sau: máy chủ thực thi các dòng lệnh trong file chương trình .asp, .php, (hoặc vui tính hơn là .ttvn như ở diễn đàn này) (cái này là file, không hề thay đổi trừ khi lập trình viên sửa mã để thay đổi chức năng gì đó của trang), truy vấn cơ sở dữ liệu để lấy nội dung các bản ghi (cái này thay đổi tuỳ theo bản ghi), định dạng các dữ liệu theo mong muốn (của người lập trình), rồi chuyển thành HTML và truyền về cho browser thể hiện ra trên máy của người dùng. Ngay cả máy chủ cũng không thèm quan tâm xem trong nội dung bản ghi là gì, vì thế nó mới để cho anh em sửa bài viết của mình thoải mái. Nó chỉ biết lấy nội dung bản ghi hiện thời để phơi ra thôi. Nên chả có cách nào biết được sự thay đổi của web đâu, chỉ có cách là vào xem thì biết.
    Được netsurfer sửa chữa / chuyển vào 23:46 ngày 08/05/2004
  8. Alpha5

    Alpha5 Thành viên mới

    Tham gia ngày:
    20/08/2003
    Bài viết:
    566
    Đã được thích:
    0
    Chuyện cũng chẳng có gì khó khăn quá như vậy, ta chẳng cần theo dõi server hoạt động ra sao, ta chỉ cần biết trang mà server đó gửi cho ta có thay đổi không so với trang nó đã gửi trước đó. Mục đích chính là làm giảm đường truyền về máy của ta. Vậy nếu ta có hosting trên mạng, khi ta gọi một trang web, host này cũng sẽ cập nhật trang đó vào file before.ttvn . Sau đó 30s, host đó sẽ gửi yêu đến server và nhận được trang cập nhật là current.ttvn. Nó sẽ so sánh hai trang đó và nếu sai khác thì nó sẽ gửi thông báo cho ta và trình duyệt của ta sẽ tự dộng refresh lại trang đó,nếu không thì thôi. Như vậy mọi hoạt động đều nằm trên host của ta chứ đường truyền thì không hề có vấn đề gì. Như vậy khi ta đang download thì vẫn có thể theo dõi trang của ta có thay đổi hay không.
  9. Alpha5

    Alpha5 Thành viên mới

    Tham gia ngày:
    20/08/2003
    Bài viết:
    566
    Đã được thích:
    0
    Trời ơi, viết được nửa trang gửi đi thì đứt link . Thôi em đành tóm tắt lại vậy :
    - Tạo một host có khả năng như một proxy cho ta và có khả năng so sánh.
    - Khi ta yêu cầu update when change một trang . Host đó sẽ cập nhật cái trang đó về host và
    save thành current.ttvn. Nó sẽ so sánh với file before.ttvn trước đó. Nếu sai khác thì gửi file
    mới về cho ta. Và cập nhật lại before.ttvn . Như vậy ta chẳng cần theo dõi các record làm gì
    trang mà host nhận được là tĩnh nên so sánh dễ dàng.
    - Mục đích chính của ta là làm giảm đường truyền của ta, như vậy khi download vẫn có thể
    theo dõi trang đang mở. Còn tạo host như vậy thì cũng không khó khăn lắm chứ ạ .
    Hừm, hóa ra nó có post rồi.
    Anh netsurfer khỏi phải dạy em về mấy cái ASP
    Được alpha5 sửa chữa / chuyển vào 00:17 ngày 09/05/2004
  10. netsurfer

    netsurfer Thành viên mới

    Tham gia ngày:
    13/04/2004
    Bài viết:
    758
    Đã được thích:
    1
    Bái phục bái phục.
    1. Định nghĩa sẵn url để host của ta biết được ta muốn theo dõi trang gì để nó cũng download trang đó thành before.ttvn. (cái này làm dễ). Nhưng theo như alpha5, khi ta gọi một trang web, host này cũng sẽ cập nhật trang đó vào file before.ttvn thì lại cực kỳ khó, vì như thế host phải biết được mọi cú click chuột của ta.2. Lập trình để host của ta download trang current.ttvn sau 30s (thời gian thực). (cũng dễ)3. Lập trình để host của ta so sánh 2 trang này (tính theo từng byte) (cái này là hơi bị khó, phải viết một ứng dụng cỡ như winword mới được) vì không thể so theo date được, do file current luôn được tạo ra tại host sau file before là 30s. So theo size: nếu nội dung đã sửa chữa đúng bằng số ký tự của nội dung trước khi sửa chữa thì size của before và current sẽ bằng nhau. 4. Lập trình để host của ta từ trên Net gửi thông báo, tín hiệu điều khiển hoặc ra lệnh cho browser (chạy trên máy client của ta) update lại trang mới theo current.ttvn, trong khi ta không hề truy cập vào host vì mục đích của alpha5 là tiết kiệm đường truyền, còn nếu nối vào host để xem có thay đổi không thì thà rằng vào luôn cái web mình muốn xem cho nhanh. (cái này cực khó, giả sử nó biết có thay đổi trong khi mình không online, luc online trở lại thì nó biết mình ở đâu mà gửi? IP thì mỗi lần đăng nhập một khác?)
    Chú Alpha5 làm được như vầy thì anh khuyên chú nên mở công ty Macrosoft Vietnam đi. Sang năm chú sẽ có 50 tỷ đô la Mỹ bằng cổ phiếu+tài sản+tiền mặt

Chia sẻ trang này