Làm cách nào tôi có thể enqueue giao thức bên ngoài các tập lệnh (//ajax.googleapis.com/))?


14

Theo Codex , wp_enqueue_script hỗ trợ liên quan đến giao thức hoặc liên kết ngoài không liên quan đến giao thức: "Tài sản từ xa có thể được chỉ định bằng URL giao thức không xác định, tức là '//otherdomain.com/js/theirscript.js'."

Nhưng tôi không thấy nó:

wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);

Đầu ra:

<script type='text/javascript' src='http://localhost:25898//maps.googleapis.com/maps/api/js?sensor=false&#038;ver=3'></script>

Lưu ý rằng URL tương đối của giao thức được thêm vào URL trang web.

Câu trả lời:


16

Mã bạn đã đăng hoạt động tốt và kết quả là trong đầu ra HTML:

<script type='text/javascript' src='//maps.googleapis.com/maps/api/js?sensor=false&#038;ver=3'></script>

Đã thử nghiệm trên WordPress 3.5 với đoạn mã này:

add_action('wp_enqueue_scripts', 'test');
function test() {
  wp_enqueue_script('google-maps', '//maps.googleapis.com/maps/api/js?&sensor=false', array(), '3', true);
}

Bạn có biết nó là cái mới trong WordPress 3.5 không?
Michiel van Oosterhout

URL liên quan đến giao thức đã được thêm 7 tháng trước: core.trac.wordpress.org/ticket/16560
Otto

Ok, vậy đó không phải là phiên bản WordPress mà tôi đang sử dụng. Vậy điều gì có thể gây ra sự khác biệt trong hành vi?
Michiel van Oosterhout

1
Chà, mã đó đã được thêm vào 7 tháng trước, nhưng nếu bạn nhìn vào vé, nó có một cột mốc 3,5, vì vậy, có lẽ đó là hành vi mới đối với 3,5.
Otto

Ồ đúng rồi, tôi đã xem trường 'Phiên bản' được đặt thành 3.1, nhưng đó là phiên bản của WordPress tại thời điểm vé được tạo.
Michiel van Oosterhout
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.