Bước tới nội dung

Thành viên:NguoiDungKhongDinhDanh/Gadget-GoogleImagesTineye.js

Bách khoa toàn thư mở Wikipedia
Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet ExplorerSafari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.
// Forked from [[:c:MediaWiki:Gadget-GoogleImagesTineye.js]].

$(function () {
	'use strict';
	
	if (
		mw.config.get ('wgDBname') != 'viwiki' ||
		mw.config.get('wgNamespaceNumber') !== 6 ||
		mw.config.get('wgAction') !== "view"
	) {
		return;
	}
	
	const file = document.querySelector('#file');
	const img = file?.querySelectorAll('img')?.[0];
	const imgHref = img?.parentNode?.href;
	
	if (!imgHref) {
		return; 
	}
	
	const imgURL = img.src;
	
	const googleLens = mw.util.addPortletLink(
		'p-cactions',
		`https://lens.google.com/uploadbyurl?url=${encodeURIComponent(imgURL)}`,
		'Google Lens',
		'ca-googlelens',
		null
	);
	setOpenInNewTab(googleLens);
	
	const tineye = mw.util.addPortletLink(
		'p-cactions',
		`https://tineye.com/search?url=${encodeURIComponent(imgURL)}&sort=size&order=desc`,
		'TinEye',
		'ca-tineye',
		null
	);
	setOpenInNewTab(tineye);
	
	function setOpenInNewTab(portletLink) {
		const link = portletLink?.children?.[0];
		
		if (link) {
			link.target = '_blank';
		}
	}
});