2013-08-01 20 views
9

Tôi đang cố gắng chụp và đăng tất cả các lỗi JS trong một trang đến chế độ xem Django. Tôi đang làm một cái gì đó như thế này.Lấy nguồn hoàn chỉnh của trang bằng cách sử dụng Javascript

<script> 
    window.onerror = function(errorMsg, file, lineNumber) { 
     post_data = {error: errorMsg, file: file, 
     location: window.location.href, lineNumber: lineNumber, 
     ua: navigator.userAgent}; 
     jQuery.post('/js_errors/', post_data); 
    } 
</script> 

Các Câu hỏi: Tôi muốn thêm dòng thực tế là tốt. Làm cách nào để nhận được dòng từ nguồn trang, được cung cấp số dòng?

Cho đến nay, tôi đã cố gắng này (chiếm tất cả các loại ký tự xuống dòng):

document.getElementsByTagName('html')[0].outerHTML.split(/\r?\n/)[lineNumber]; 

Tuy nhiên, điều này không cho tôi số dòng chính xác. Tôi đang thiếu gì ở đây?

+0

Bạn cũng đã thu thập dữ liệu tiêu đề chưa? – DarkBee

+0

tại sao bạn cần số dòng? –

+0

Tôi giả định u wud được phân tích này trên một giao diện phụ trợ. Tại sao không làm chia tách ở đó? –

Trả lời

1

Không đặc biệt hiệu quả, nhưng sẽ nhận được những gì bạn đang sau (ví dụ: loại tài liệu và tất cả):

lineNumber = 23; 
errorLine = null; 
$.post("",function(source) { 
    errorLine = source.split(/\r?\n/)[lineNumber]; 
}); 
-4

sử dụng phương pháp jquery $ ('# divID_where_you_want_to_extract) .load (' url ');

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