2011-07-07 25 views
10

javascript của tôi sẽ không tải do lỗi mà nó nhận được, chỉ trong IE. Tôi đã sử dụng trình gỡ lỗi để nhận các lỗi sau. Trang này hiển thị chính xác javascript trong Safari, FF và chrome nhưng không phải trong IE và chỉ trên các trang cụ thể như thế này.Lỗi Javascript: "Không có bộ chuyển tiếp", chỉ trong IE 7, 8

http://tsqja.deznp.servertrust.com/Lakeside_721_2_Shelf_Heavy_Duty_Utility_Cart_p/lak-721.htm

1) Không thiết lập chuyển tiếp (sử dụng như window.postMessage targetOrigin), không thể gửi tin nhắn cross-domain

2) lập luận không hợp lệ. jquery.min.js

Bất kỳ ý tưởng nào về lỗi đầu tiên ngụ ý? Tôi đã chuyển ra xây dựng jQuery của tôi với mới nhất và nó vẫn làm điều tương tự.

CẬP NHẬT Tôi đã cập nhật jquery.min.js mới nhất và tôi đã tìm ra đây là nơi trang ngừng tải ... sau khi đối số không hợp lệ bật lên trong jquery-latest.min.js, dòng 16 ký tự 15.511 đó là lá thư sau đây 'b':

finally{b=[e,f],c=0}}return this} 
+1

Nhìn qua các nguồn cho liên kết mà tôi nhìn thấy bạn đang sử dụng nút của Google +1 . Tôi hiện đang cố gắng giải quyết vấn đề tương tự và diễn đàn Google Webmaster * dường như không có câu trả lời hợp lý. Sẽ bắt đầu một tiền thưởng cho việc này. * http://www.google.com/support/forum/p/Webmasters/label?lid=1f91cc0e87a8ed93&hl=vi – psema4

+4

Gỡ lỗi từ 'jquery.min.js' được rút gọn gần như là vô nghĩa. Hãy thử bao gồm toàn bộ 'jquery.js' và chia sẻ gỡ rối từ đó. – cheeken

+1

IE7 không hỗ trợ window.postMessage – epascarello

Trả lời

10

DEMOhttp://so.devilmaycode.it/javascript-errors-no-relay-set-only-in-ie-7-8/

  • 1) - N o rơ le set (sử dụng như window.postMessage targetOrigin), không thể gửi tin nhắn cross-domain

là do nút <g:plusone /> trên trang web của bạn: (google is busy of this notice) cách duy nhất tôi tìm thấy để circumnvent vấn đề này là bằng cách làm một cái gì đó như thế này:

$(function() { 
    setTimeout(function() { 
     gapi.plusone.render("plusone-div"); 
    }, 
    1500); 

}); 

  • 2) - Inva đối số nắp. jquery.min.js

xem mã nguồn của bạn là một sự hỗn loạn! ;-) OMG

  • bạn có rất nhiều của lỗi như (thiếu http:// giao thức định):

  • khác nhau folder trường tên như /v/newsite//v/Newsite/ điều này thực sự quan trọng nếu bạn dưới nix nhưng vì bạn đang sử dụng ASP ...

  • mã như AttachEvent(window, 'load', store_init); này khi sử dụng jquery như jQuery(document).ready(function() {

  • nhiều bao gồm của cùng một tập tin (file này được bao gồm 3 lần) /a/j/product_details.js

  • sử dụng đồ sộ của $(function(){ & $(document).ready(function(){ & $(window).load(function(){ nhiều lần khi chỉ cần một cái;

  • js global 's tất cả xung quanh trang, ở phía trên, ở giữa và ở phía dưới, họ nên ở tất cả trên IMHO đầu ...

  • phiên bản khác của jquery nạp cùng lúc như : jquery-1.4.4.min.js & jquery-1.6.2.js & 1.4.2/jquery.min.js cùng

  • nhỏ nhưng luôn luôn không hấp dẫn, bạn có <meta />, <link /><script /> để hỗn hợp giống như một món salad gà, nơi họ nên ở lại trật tự meta, liên kết và kịch bản tốt nhất là ở cuối trang.

  • thiếu dấu chấm phẩy ; tất cả xung quanh;

  • phi nghĩa/code bị thay đổi như dưới đây và nhiều hơn thế nữa ...


if (!/\/shoppingcart\.asp/i.test(window.location.pathname)) { 
    jQuery(document).ready(function() { 
     jQuery('a').each(AddCartLink) 
    }); 
} 

var global_Config_EnableDisplayOptionProducts = 'False'; 

var global_ImageSeed = 'test.jpg'; 
global_ImageSeed = global_ImageSeed.substring(... 

trang web của bạn không có lỗi:http://so.devilmaycode.it/javascript-errors-no-relay-set-only-in-ie-7-8/

những gì tôi đã làm là:

  1. sắp xếp lại thẻ chính meta, liên kết, kịch bản
  2. loại bỏ các widget shitty như addthis, google, facebook
  3. "đã cố gắng" để đặt tất cả các hình cầu lên trên cùng;
  4. comment một phần của mã đó gây ra vấn đề chrome trong TopScriptsTEST5.jstập tin này là vấn đề chính của bạn, (bạn sẽ thấy một đoạn lớn các mã nhận xét)
  5. loại bỏ tập tin bao gồm trùng lặp,
  6. đã xóa phiên bản mới nhất của jquery, khiến tôi nghi ngờ rằng tất cả các phần còn lại của mã của bạn hoạt động với phiên bản jquery mới nhất, do đó hãy sử dụng 1-4-4 thay vì
  7. một số sửa chữa khác ở đây và ở đó ...không có gì đặc biệt

niềm hy vọng này check-up giúp một chút, nhưng tôi nghĩ rằng bạn cần một chuyên gia trừ quỷ ;-)

+10

Đập một nitpick vào điểm đầu tiên của bạn: Bắt đầu một url với // là hoàn toàn ổn, nó sẽ sử dụng cùng một lược đồ như trang nó đang bật. Rất tiện dụng nếu bạn có cả phiên bản http và https của trang và muốn đảm bảo bao gồm các url tuyệt đối trên cùng một giao thức. –

+0

@Michael Stum: wow, không bao giờ biết về nó! cảm ơn ngài! ;-) –

+0

Nội dung hay, cảm ơn bạn đã trả lời! Tôi đang sử dụng một giỏ mua hàng Volusion, và tiếc là họ ném tất cả các loại công cụ trong đó mà tôi không thể loại bỏ hoặc thậm chí sửa đổi. Mã ONLY tôi đã có sẵn mà bản thân tôi tạo ra (mà tôi chỉnh sửa về cơ bản hàng ngày đó là lý do tại sao nó không phải là MINIFIED ngay bây giờ) là TopScripts (TopScriptsV2 ngay bây giờ). Nhưng đó là trên trang web chính của tôi, www.BASequipment.com. Hầu hết các vấn đề được nêu là Volusions mã riêng và tôi không thể sửa đổi! Hãy tưởng tượng rằng .. – ToddN

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