ฉันจะจัดคิวสคริปต์โปรโตคอลสัมพัทธ์ภายนอก (//ajax.googleapis.com/) ได้อย่างไร?


14

ตามCodex , wp_enqueue_script รองรับโปรโตคอลที่เกี่ยวข้องหรือลิงค์ภายนอกที่ไม่เชื่อเรื่องพระเจ้าโปรโตคอล: "สินทรัพย์ระยะไกลสามารถระบุได้ด้วย URL ที่ไม่เชื่อเรื่องโปรโตคอลเช่น '//otherdomain.com/js/theirscript.js'

แต่ฉันไม่เห็นมัน:

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

เอาท์พุท:

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

ขอให้สังเกตว่า URL สัมพัทธ์ของโปรโตคอลนั้นต่อท้าย URL ของไซต์

คำตอบ:


18

รหัสที่คุณโพสต์ทำงานได้ดีและผลลัพธ์นี้ในผลลัพธ์ HTML:

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

ทดสอบกับ WordPress 3.5 ด้วยโค้ดขนาดสั้นนี้:

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

คุณรู้หรือไม่ว่านี่เป็นของใหม่ใน WordPress 3.5
Michiel van Oosterhout

เพิ่ม URL ที่เกี่ยวข้องกับโพรโทคอล 7 เดือนที่ผ่านมา: core.trac.wordpress.org/ticket/16560
อ็อตโต

ตกลงดังนั้นมันไม่ใช่รุ่นของ WordPress ที่ฉันใช้ ดังนั้นสิ่งที่อาจทำให้เกิดความแตกต่างในพฤติกรรม
Michiel van Oosterhout

1
รหัสนั้นถูกเพิ่มเข้ามาเมื่อ 7 เดือนที่แล้ว แต่ถ้าคุณดูตั๋วมันมี 3.5 เหตุการณ์สำคัญดังนั้นใช่มันอาจเป็นพฤติกรรมใหม่ที่ 3.5
อ็อตโต

โอ้ใช่แล้วฉันกำลังดูฟิลด์ 'เวอร์ชั่น' ซึ่งตั้งค่าไว้ที่ 3.1 แต่นั่นเป็นเวอร์ชันของ WordPress ในเวลาที่สร้างตั๋ว
Michiel van Oosterhout
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.