المقدمة هنا هي في الأساس طريقتين ، من خلال إنشاء DOM أو الحوسبة من خلال JavaScript:
1) من خلال الصورة التي تم إنشاؤها حديثًا ، سيتم إرسال طلب تم إحباطه بعد الاختبار ، ولا يدعم ذلك الأمر نفسه. ؛
نسخة الكود كما يلي:
وظيفة getabsoluteurl (url) {
var img = new image () ؛
IMG.SRC = URL ؛
url = img.src ؛
IMG.SRC = NULL ؛
إرجاع عنوان URL ؛
}
getabsoluteurl ("صالة العرض/القائمة") ؛
2) إنشاء مرساة (رابط).
نسخة الكود كما يلي:
/ *JSlint regexp: True ، White: True ، Maxerr: 50 ، المسافة البادئة: 2 */
وظيفة parseuri (url) {
var m = string (url) .replace (/^/s+|/s+$/g ، '') .match (/^([^: //؟#]+:)؟ (/// (؟:؟:؟: [^:@]*(؟ :: [^:@]*)؟@)؟ (([^: //؟#]*) (؟ :: (/d*))؟))؟ ([^ ؟#]*) (/؟ [^#]*)؟ (#[/s/s]*)؟/) ؛
// Authority = '//' + user + ':' + pass '@' + hostname + ':' Port
العودة (م؟ {
HREF: M [0]
البروتوكول: م [1]
السلطة: م [2]
المضيف: م [3]
اسم المضيف: م [4]
الميناء: م [5]
PathName: M [6]
البحث: M [7] ||
التجزئة: م [8]
} : باطل)؛
}
الوظيفة المطلقة (قاعدة ، HREF) {// RFC 3986
دالة rediveTeSegments (الإدخال) {
VAR OUTPUT = [] ؛
input.replace (/^(/./.؟(// | $))+/، '')
.replace (///(/.(// | $))+/g ، '/')
.replace (////./.$/ ، '/../')
.replace (///؟ [^//]*/g ، function (p) {
if (p === '/..') {
output.pop () ؛
} آخر {
output.push (p) ؛
}
}) ؛
إرجاع الإرجاع.
}
href = parseuri (href || '') ؛
base = parseuri (base || '') ؛
العودة!
(href.protocol || href.authority؟ href.authority: base.authority) +
redivedOtSegments (href.protocol || href.authority || href.pathname.charat (0) === '/'؟ ':' ') + base.pathname.slice (0 ، base.pathname.lastindexof ('/') + 1) + href.pathname): base.pathname)) +
(href.protocol || href.authority || href.pathname؟ href.search: (href.search || base.search)) +
href.hash ؛
}
نظرًا لأن منتجاتنا عبارة عن صفحات ويب للهواتف المحمولة ، فإنها لم تعد تدعم IE6 ، ويتم استخدام الحل الثاني أخيرًا ؛
يمكن ملاحظة أنه عند الوصول إلى جميع الصور والرسومات باستخدام الطريقة الأصلية ، تكون المسارات المطلقة جميعها. طريقة jquery.attr ():
نسخة الكود كما يلي:
// إرجاع المسار المطلق ، فإن كائن jQuery هو في الأساس هيكل "صفيف فئة" (على غرار الوسائط) ، حتى تتمكن من استخدام [0] للوصول إلى الكائن الأصلي ثم أخذ "HREF" ؛
console.log ($ anchor [0] ["HREF"]) ؛
// العودة إلى المسار الأصلي
console.log ($ anchor.attr ("href")) ؛