我意識到,脾氣暴躁的貓的例子有點厚臉皮,但同樣的概念適用於解決您的問題。用Grumpy Cat圖像替代圖像,你可以編寫一些邏輯來用低分辨率圖像替換圖像(即mountains-320.jpg
和forest-320.jpg
)。
使用Mobify.js,您需要在您添加到站點的JavaScript代碼段中編寫適配代碼。因此,要加載移動較小的圖像,你可以在你原有的HTML定義路徑較低分辨率圖像是這樣的:
<img src="mountain.jpg" data-mobile-src="mountain-320.jpg" />
<img src="forest.jpg" data-mobile-src="forest-320.jpg" />
然後,在JavaScript片段,您可以修改它來抓取的圖像data-mobile-src
屬性,而不是像這樣:
if (capturing) {
// Grab reference to a newly created document
Mobify.Capture.init(function(capture){
// Grab reference to the captured document in progres
var capturedDoc = capture.capturedDoc;
var imgs = capturedDoc.getElementsByTagName("img[data-mobile-src]");
for(var i = 0; i < imgs.length; i++) {
var img = imgs[i];
var ogImage = img.getAttribute("x-src");
var mobileImage = img.getAttribute("data-mobile-src");
img.setAttribute("x-src", mobileImage);
img.setAttribute("old-src", ogImage);
}
// Render source DOM to document
capture.renderCapturedDoc();
});
}
然後,你會看到移動網站將下載和渲染mountain-320.jpg
或forest-320.jpg
,但它不會下載mountain.jpg
或forest.jpg
。
只是出於好奇,你想使用Mobify.js的網站?
非常感謝您的回覆。但是,我仍然沒有得到預期的產出。在請求筆記本電腦和手機時,在這兩種情況下,我只能看到mountains-320.jpg文件。但是,我想在從筆記本電腦訪問時看到mountains.jpg文件,在從移動設備訪問時會看到mountains-320.jpg。我怎樣才能做到這一點? 這裏是我的代碼: https://github.com/ashwintumma23/myMobify/blob/master/index.html –
嗨Ashwin,它現在正在桌面和移動激活,因爲'supportedBrowser'變量是如何獲得組。這是一個正在大多數瀏覽器上傳遞的正則表達式。您需要更新正則表達式以僅在移動瀏覽器上匹配,例如:/ip(hone|od)|android.*(mobile)|blackberry.*applewebkit|bb1\d.*mobile/i –