2008-09-10 20 views
8

Thường thì các ứng dụng Flash và Flex được nhúng vào trong HTML bằng cách sử dụng kết hợp các thẻ objectembed hoặc thường sử dụng JavaScript. Tuy nhiên, nếu bạn liên kết trực tiếp đến một tệp SWF, nó sẽ mở trong cửa sổ trình duyệt và không nhìn vào thanh địa chỉ, bạn không thể biết rằng nó không được nhúng trong HTML với kích thước được đặt thành 100% chiều rộng và chiều cao.Liên kết trực tiếp với SWF, các nhược điểm là gì?

Xem xét chi phí của HTML, CSS và JavaScript cần thiết để nhúng ứng dụng Flash hoặc Flex lấp đầy 100% cửa sổ trình duyệt, những nhược điểm của việc liên kết trực tiếp với tệp SWF thay thế là gì? Các upsides là gì?

Tôi có thể nghĩ đến một mặt và ba nhược điểm: bạn không cần 100 dòng HTML, JavaScript và CSS được yêu cầu khác, nhưng bạn không phát hiện plugin, không kiểm tra phiên bản và mất SEO tốt nhất tùy chọn (nâng cao tiến bộ).

Cập nhật không bị treo trên 100 dòng, tôi chỉ đơn giản có nghĩa là số lượng mã cần để nhúng SWF khá nhiều (và có nghĩa là bao gồm thư viện như SWFObject) để hiển thị SWF, có thể được thực hiện mà không cần một dòng duy nhất bằng cách liên kết trực tiếp với nó.

Trả lời

7

Mặt tích cực để liên kết trực tiếp đến tập tin SWF:

  • nhanh hơn truy cập
  • Bạn biết đó là một bộ phim flash ngay cả trước khi bạn nhấp vào liên kết
  • Bỏ qua html & js file (Bạn sẽ không sử dụng CSS để hiển thị 100% phim flash nào)

Nhược điểm:

  • Bạn có ít quyền kiểm soát đối với các giá trị mặc định của phim.
  • Bạn không thể sử dụng màu nền tùy chỉnh, độ trong suốt, v.v.
  • Bạn không thể sử dụng flashVars để gửi dữ liệu đến bộ phim từ HTML
  • có thể không sử dụng fscommand từ bộ phim đến trang
  • Movie tỷ lệ không bao giờ giống như tỉ lệ của cửa sổ của người dùng
  • Bạn không thể bù đắp cho tính không đủ khả năng của trình duyệt (Trình duyệt mới tiếp theo xuất hiện và bạn gặp sự cố)
  • Không SEO
  • Không có tiêu đề trang, nếu bạn muốn mọi người đánh dấu trang đúng cách.
  • Không có thông tin plugin, liên kết tải xuống, v.v.
  • Nếu SWF của bạn kết nối với nguồn dữ liệu bên ngoài, bạn có thể gặp sự cố tên miền chéo.
  • Đổi tên tệp SWF cũng sẽ đổi tên liên kết. Xấu cho phiên bản.

Tóm lại, đối với một ứng dụng phức tạp - luôn sử dụng HTML. Đối với một bộ phim hoạt hình đơn giản, bạn có thể đi theo một trong hai cách.

0

Tại sao bạn cần hơn 100 dòng mã? Sử dụng một cái gì đó như swfobject làm giảm amout này khá một số (và nói chung bạn không muốn làm phát hiện plugin, vv bằng tay anyway).

3

Bạn cũng mất quyền kiểm soát bên ngoài của SWF. Khi nó được nhúng trong HTML, bạn có thể sử dụng javascript để giao tiếp với SWF. Nếu SWF được tải trực tiếp thì có thể không thực hiện được.

Trích dẫn 100+ dòng của bạn có vẻ khá cao đối với tôi. HTML mà FlashDevelop tạo ra để nhúng một SWF chỉ có khoảng 35 dòng, với một tệp bao gồm một tệp swfobject.js. Bạn không nên cần phải chạm vào tập tin js, và nhiều nhất sẽ chỉ phải tinh chỉnh HTML theo những cách rất nhỏ để làm cho nó làm những gì bạn muốn.

3

Theo kinh nghiệm của tôi, không phải tất cả các trình duyệt đều xử lý đúng cách. Tôi không thực sự chắc chắn lý do tại sao (hoặc trình duyệt nào) nhưng tôi đã nhầm lẫn gửi các liên kết như thế này cho khách hàng nhân dịp và họ thường trở lại lẫn lộn. Tôi nghi ngờ trình duyệt của họ sẽ nhắc họ tải xuống tệp thay vì hiển thị tệp đó đúng cách.

1

Một điểm nổi bật tôi có thể nghĩ là có thể chỉ định tham số GET trong URL trực tiếp tới SWF, sau đó sẽ có sẵn trong ứng dụng Flash (qua Application.application.parameters trong Flex, không chắc chắn cách bạn truy cập chúng trong Flash CS3). Điều này tất nhiên có thể đạt được bằng các phương tiện khác là tốt nếu bạn có một wrapper HTML nhưng cách này nó ít làm việc.

-1

Adobe nên xấu hổ về bản thân mình với nhúng chuẩn, điều này sẽ đánh bại puprose của quy ước về cấu hình. Kiểm tra^SWFObject (như đã đề cập ở trên) hoặc swfin

0

Nhiều ưu điểm:

  1. nhìn Trọng lượng nhẹ vì em có thể thoát khỏi những tiêu đề với tất cả các thanh công cụ mà dường như để tích lũy ở đó và ngay cả những thanh cuộn là không cần thiết. Điều này giúp tăng cường tác động khi bạn đang cố gắng thể hiện rất nhiều hành động trong nháy mắt ngắn.
  2. Biggie: bạn nhận được nó trong một cửa sổ mà bạn có thể kéo lớn hơn hoặc nhỏ hơn và làm cho bộ phim lớn hơn và nhỏ hơn. Trình phát sẽ thay đổi kích thước phim để lấp đầy cửa sổ bạn có. Điều này là rất tốt cho những thứ như hình ảnh nhóm, nơi tất cả mọi người muốn phóng to để tìm thấy chính mình và bạn bè của họ. Tôi đã làm điều này cho một sản xuất Flash một khung!

Nhược điểm: Như với quảng cáo nói chung, nếu bạn đang yêu cầu cho nhiều người từ cùng một trang web, và bạn muốn popup kích thước khác nhau, các trình duyệt có xu hướng đơn giản là ghi đè lên các kích thước bạn yêu cầu trong window.open và tái sử dụng bất cứ điều gì là lên. Bạn cần phải đóng bất kỳ cửa sổ bật lên nào để window.open sẽ tạo một ảnh mới. Nó trở nên phức tạp và tôi không thể làm cho nó hoạt động trên các trang trong một trang web. Bất cứ ai đã làm điều này thành công, xin đăng bài như thế nào!

Các vấn đề liên quan