2012-02-29 40 views
7

Tôi muốn mã nguồn của trang HTML (1.html) được sử dụng trong một trang khác (2.html). Hơn nữa, tôi muốn thực hiện các thao tác trên nó trong 2.html.Nhận mã nguồn HTML dưới dạng chuỗi

Có cách nào để thực hiện việc này không?

EDIT: 1.html là trang web công cộng riêng biệt và tôi không có quyền truy cập để thực hiện thay đổi đối với mã nguồn của nó. Tôi phải làm bất cứ điều gì tôi cần chỉ bằng cách sử dụng 2.html.

+0

Loại hoạt động nào? –

+0

Bạn có muốn lấy toàn bộ nội dung của trang 1.html từ 2.html bằng jQuery không? Bạn có thể thực hiện một yêu cầu AJAX và nhận được nó nếu tôi hiểu đúng những gì bạn muốn làm. –

+0

@Pekka: Thao tác đơn giản như trích xuất một số innerHTML từ 1.html và hiển thị nó thành 2.html Aldo 'xeon': yêu cầu tên miền chéo của nó, vì vậy AJAX không hoạt động. – user1196522

Trả lời

15

Để có được DOM chuyển thành một chuỗi:

document.getElementsByTagName('html')[0].innerHTML 

Câu hỏi: điều gì làm bạn có ý nghĩa bởi "sử dụng nó"? Bạn có cần bao gồm 1.html bên trong 2.html không? Hay bạn chỉ cần xử lý nó?

+0

Poster muốn một trang HTML khác. – 472084

+0

tôi chỉ cần xử lý nó .. Tôi có quyền truy cập để thay đổi mã nguồn của chỉ 2.html .. – user1196522

+7

'.HTMLHTML' không thực sự trả về mã nguồn, nó tạo ra html tương ứng với cây DOM hiện tại. Sự khác biệt tinh tế, nhưng vẫn ... – nnnnnn

3

của nó rất đơn giản

On 2.html sử dụng jQuery này đoạn mã

$.get("1.html", function(response) { 
    alert(response) 
    //do you operations 
}); 
3

jQuery:

$.get('ajax/test.html', function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
}); 
+1

Heh .. Tôi đã đánh bại bạn bởi 3 Secs .... – Starx

1

Tôi không hiểu whatyou có nghĩa là bạn phải thực hiện những thay đổi, nhưng bạn có thể chỉ đơn giản tải trang thứ hai thông qua AJAX

var url ="1.html"; 
$.ajax({ 
    url: url, 
    dataType: 'html' 
    success: function(data){ 
      //do something with data, which is the page 1.html 
      } 

}); 
0

Sử dụng có thể sử dụng phương pháp .html để có được toàn bộ dữ liệu html của trang.

$(function(){ 
    var a = ($('html').html()) 
})​ 
Các vấn đề liên quan