2011-12-11 54 views
8

Tôi đang cố gắng mã iFrame hoạt động như một khu vực thử nghiệm trong IDE HTML/Javascript/CSS trong trình duyệt trong chrome, nhưng tôi mất rất nhiều chức năng do một số lỗi nhất định và tôi đã tự hỏi liệu có ai đó có thể cho tôi biết cách đặt thuộc tính .src của iFrame thành URL có mã Javascript CSS CSS vv được mã hóa trực tiếp trong thuộc tính .src hay không. Đừng nói với tôi rằng nó không thể được thực hiện, bởi vì tôi biết nó có thể, tôi chỉ mất trang web, nơi tôi tìm thấy phương pháp này. Ngoài ra, như một lưu ý phụ, có thể lập trình buộc iFrame này để làm mới không?Đặt thuộc tính iFrame src là URI dữ liệu được mã hóa bằng javascript trong chrome

Cảm ơn bạn đã dành thời gian,

Chris

+0

Tại sao bạn cần để làm điều này ngay từ đầu? Bạn đang đề cập đến lỗi nào? –

+0

Javascript sẽ không thực thi đúng cách nếu tôi chỉ chỉnh sửa nội dung iFrames thông qua DOM chuẩn. – user1030453

+1

@Pekka, tôi xin lỗi. Có lẽ tôi không giải thích nó một cách chính xác, nhưng tôi đã thấy các ví dụ trong đó thuộc tính src của iFrame được thay thế bằng một URI dữ liệu của kiểu text/html. Ai đó có thể xin vui lòng ít nhất là hướng dẫn tôi đến một trang có hướng dẫn thiết lập thuộc tính iframes .src thành URI dữ liệu/URL được mã hóa từ một chuỗi trong Javascript, tôi có thể cố gắng tìm ra phần còn lại. Làm ơn, tôi vẫn chưa tìm ra cái này. – user1030453

Trả lời

4

Từ nghiên cứu của tôi, có vẻ như điều này đã được coi là một nguy cơ bảo mật và do đó không được phép trong tất cả các trình duyệt.

MS IE site link trích đoạn:

URI dữ liệu chỉ được hỗ trợ cho các yếu tố và/hoặc các thuộc tính sau.

  • đối tượng (chỉ hình ảnh)
  • img
  • input type = image
  • liên kết
  • tờ khai CSS mà chấp nhận một URL, chẳng hạn như nền, backgroundImage, và vân vân.

HTML5 Cheatsheet An ninh: http://html5sec.org/

0

Refresh iframe:

document.getElementById('iframeid').src = document.getElementById('iframeid').src 
4

iframeEl.src = "dữ liệu: text/html; charset = utf-8" + nội dung;

+1

Bạn không thể sử dụng URI dữ liệu nếu bạn cần hỗ trợ IE - xem http://msdn.microsoft.com/en-us/library/cc848897%28v = vs.85% 29.aspx – robocat

1

Có nó có thể được thực hiện - xem http://sparecycles.wordpress.com/2012/03/08/inject-content-into-a-new-iframe/

Lưu ý rằng các iframe sẽ có nguồn gốc tương tự như các trang gốc, mà có thể không được mong muốn và có thể có những cân nhắc bảo mật nghiêm túc tùy thuộc vào những gì bạn đang làm.

Một ví dụ của việc sử dụng javascript: kỹ thuật chương trình là ở đây: http://jsbin.com/uhenuz/4 (. Nếu sử dụng với https sẽ cần thêm googling và thử nghiệm tốt để kiểm tra xem hỗn hợp https/http cảnh báo không bao giờ có thể đưa ra)

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