Cách khôi phục tùy chọn Search Google for Image
Chỉ với vài thao tác đơn giản, bạn hoàn toàn có thể mang tùy chọn Search Google for Image (tìm kiếm hình ảnh trên Google) trở lại.
IP Lorem fuoll text
Mặc định, để tìm kiếm một bức ảnh tương tự nhưng có kích thước lớn hơn, thông thường chúng ta sẽ phải truy cập vào địa chỉ https://images.google.com/ hoặc nhấn phải chuột lên bức ảnh đó và chọn Search Google for Image (tìm kiếm hình ảnh trên Google).

Tìm kiếm hình ảnh bằng Google Lens khiến nhiều người gặp khó khăn khi tìm hình ảnh tương đồng. Ảnh: MINH HOÀNG
Tuy nhiên, dạo gần đây Google đã loại bỏ tùy chọn này và thay thế bằng tùy chọn Search Image with Google Lens (tìm kiếm hình ảnh bằng Google ống kính), khiến nhiều người gặp khó khăn trong việc tìm kiếm hình ảnh tương đồng. Làm thế nào để khắc phục vấn đề trên?
Đầu tiên, bạn hãy cập nhật trình duyệt Chrome trên máy tính lên phiên bản mới nhất bằng cách gõ vào thanh địa chỉ dòng lệnh chrome://settings/help, sau đó chờ một lát để quá trình tải về dữ liệu hoàn tất, nhấn Relaunch để khởi động lại.
Khi hoàn tất, bạn hãy mở trình duyệt Google Chrome và gõ dòng lệnh chrome://flags/#enable-lens-standalone, thiết lập thành Disabled - Relaunch để áp dụng các thay đổi.

Vô hiệu hóa tính năng tìm kiếm bằng Google Lens. Ảnh: MINH HOÀNG
Kể từ lúc này, tùy chọn Search Google for Images (tìm kiếm hình ảnh bằng Google sẽ được khôi phục) như ban đầu, giúp bạn dễ dàng tìm kiếm hình ảnh tương đồng với kích thước lớn hơn.

Tìm kiếm hình ảnh tương đồng nhanh hơn. Ảnh: MINH HOÀNG
Ngoài ra, người dùng cũng có thể cài đặt thêm các tiện ích mở rộng trên trình duyệt để có được tính năng tương tự, đơn cử như Quick Image Search (cập nhật từ năm 2020), Reverse Image Search và Search by Image (bổ sung thêm tùy chọn tìm kiếm hình ảnh ở chuột phải).

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
body {
background-color: lightblue;
}
public function homepage() {
$featuredProducts = Product::where('status', 1)
->where('featured', 1)
->orderBy('created_at', 'desc')
->take(15)
->get();
$articles = Article::where('status', 1)
->orderBy('created_at', 'desc')
->limit(8)
->get();
$lastedProducts = Product::where('status', 1)
->orderBy('created_at', 'desc')
->take(16)
->get();
$slides = Slide::orderBy('slide_sort_order', 'asc')->get();
$slideSEO = Slide::all()->random();
$imageSEO = (!empty($slideSEO->slide_image)) ? asset('storage/app/' . $slideSEO->slide_image) : asset('storage/app/uploads/default.png');
OpenGraph::setUrl(url()->current());
OpenGraph::addImage($imageSEO);
// access analytics
$this->analyticsAccess();
// online analytics
$this->analyticsOnline();
return view('catalog.pages.index',
compact('featuredProducts', 'lastedProducts', 'articles', 'slides')
);
}
public function articles() {
$articles = DB::table('article_to_category as atc')
->select('a.title as title', 'a.slug as a_slug', 'cat.slug as c_slug', 'a.image as image', 'a.created_at as created_at', 'view', 'cat.name as c_name')
->join('article as a', 'atc.article_id', '=', 'a.id')
->join('article_category as cat', 'atc.category_id', '=', 'cat.id')
->where('a.status', 1)
->orderBy('a.created_at', 'desc')
->paginate(15);
// random news
$randomPosts = DB::table('article_to_category as atc')
->select('a.title as title', 'a.slug as a_slug', 'cat.slug as c_slug')
->join('article as a', 'atc.article_id', '=', 'a.id')
->join('article_category as cat', 'atc.category_id', '=', 'cat.id')
->where('a.status', 1)
->inRandomOrder()
->limit(20)
->get();
$categories = ArticleCategory::where('status', 1)->get();
$pageTitle = 'Bài viết';
// SEO
SEOMeta::setTitle('Bài viết');
return view('catalog.pages.articles', compact(
'pageTitle',
'articles',
'categories',
'randomPosts'
));
}
public function articleCategory($category_slug) {
// get category id
$category = ArticleCategory::where('slug', $category_slug)->first();
// get article to main post
$article = DB::table('article_to_category as atc')
->join('article as a', 'atc.article_id', '=', 'a.id')
->where('category_id', $category->id)
->where('status', 1)
->latest('a.created_at')
->first();
// get article to sub post
$articles = DB::table('article_to_category as atc')
->join('article as a', 'atc.article_id', '=', 'a.id')
->where('category_id', $category->id)
->where('status', 1)
->orderBy('a.created_at', 'desc')
->paginate(14);
// lasted news
$lastedPosts = DB::table('article_to_category as atc')
->select('a.title as title', 'a.slug as a_slug', 'cat.slug as c_slug')
->join('article as a', 'atc.article_id', '=', 'a.id')
->join('article_category as cat', 'atc.category_id', '=', 'cat.id')
->where('a.status', 1)
->orderBy('a.created_at', 'desc')
->take(7)
->get();
// random news
$randomPosts = DB::table('article_to_category as atc')
->select('a.title as title', 'a.slug as a_slug', 'cat.slug as c_slug')
->join('article as a', 'atc.article_id', '=', 'a.id')
->join('article_category as cat', 'atc.category_id', '=', 'cat.id')
->where('a.status', 1)
->inRandomOrder()
->limit(20)
->get();
$pageTitle = $category->name;
// SEO
$image = (!empty($category->image)) ? asset('storage/app/' . $category->image) : asset('storage/app/uploads/default.png');
$seo = new Controller();
$seo->seo_tools(
$category->meta_title,
$category->meta_description,
$category->meta_keyword,
$image,
URL::current()
);
return view('catalog.pages.article-category', compact(
'pageTitle',
'category',
'articles',
'article',
'lastedPosts',
'randomPosts'
));
}
public function article($category_slug, $slug) {
// get news
$article = Article::where('slug', $slug)->first();
$category_slug = $article->pivot->category->slug;
// lasted news
$lastedPosts = Article::where('status', 1)
->where('id', '<>', $article->id)
->orderBy('created_at', 'desc')
->take(4)
->get();
// related news
$relatedPosts = DB::table('article_to_category as atc')
->join('article as a', 'atc.article_id', '=', 'a.id')
->where('category_id', $article->pivot->category->id)
->where('article_id', '<>', $article->id)
->where('status', 1)
->orderBy('a.created_at', 'desc')
->take(7)
->get();
// ramdom news
$randomPosts = Article::where('status', 1)->inRandomOrder()->limit(20)->get();
// update view
DB::table('article')
->where('id', $article->id)
->update(['view' => $article->view + 1]);
// SEO
$image = (!empty($article->image)) ? asset('storage/app/' . $article->image) : asset('storage/app/uploads/default.png');
$seo = new Controller();
$seo->seo_tools(
$article->meta_title,
$article->meta_description,
$article->meta_keyword,
$image,
URL::current()
);
return view('catalog.pages.article', compact(
'category_slug',
'article',
'lastedPosts',
'relatedPosts',
'randomPosts'
));
}
public function themes() {
$products = Product::where('status', 1)->orderBy('created_at', 'desc')->paginate(40);
// SEO
SEOMeta::setTitle('Giao diện web mẫu, template website bán hàng đẹp | THwebshop');
SEOMeta::setDescription('+3000 mẫu web bán hàng, template website bán hàng trực tuyến với giao diện thiết kế đẹp mắt, chuyên nghiệp và đa dạng ngành nghề.');
$pageTitle = 'Giao diện web mẫu, template website bán hàng đẹp | THwebshop';
return view('catalog.pages.themes',
compact('pageTitle', 'products')
);
}
public function productCategory($category_slug) {
$category = ProductCategory::where('slug', $category_slug)->first();
$products = ProductToCategory::where('category_id', $category->id)->paginate(48);
$pageTitle = $category->name;
// SEO
$image = (!empty($category->image)) ? asset('storage/app/' .$category->image) : asset('storage/app/uploads/default.png');
$seo = new Controller();
$seo->seo_tools(
$category->meta_title,
$category->meta_description,
$category->meta_keyword,
$image,
URL::current()
);
return view('catalog.pages.product-category',
compact('pageTitle', 'category', 'products')
);
}
public function themeDetail($category_slug, $slug) {
// get product
$productDescription = ProductDescription::where('slug', $slug)->first();
// update view
$product = Product::where('id', $productDescription->product_id)->first();
DB::table('product')
->where('id', $product->id)
->update(['viewed' => $product->viewed + 1]);
// related product
$related = ProductToCategory::where('product_id', $productDescription->product_id)->first();
// product review
$pReviews = ProductReviews::where('product_id', $productDescription->product_id)->orderBy('created_at', 'desc')->where('status', 1)->get();
$avgStar = ProductReviews::where('product_id', $productDescription->product_id)->where('status', 1)->avg('star');
$totalStar = ProductReviews::where('product_id', $productDescription->product_id)->where('status', 1)->count('star');
// SEO
$image = (!empty($productDescription->product->image)) ? asset('storage/app/' . $productDescription->product->image) : asset('storage/app/uploads/default.png');
$seo = new Controller();
$seo->seo_tools(
$productDescription->meta_title,
$productDescription->meta_description,
$productDescription->meta_keyword,
$image,
URL::current()
);
return view('catalog.pages.theme',
compact(
'productDescription',
'related',
'pReviews',
'avgStar',
'totalStar'
)
);
}
public function getProductByGroup($slug) {
$group = ProductGroup::where('slug', $slug)->first();
$groupPivot = ProductToGroup::with(['product' => function ($query) {
$query->where('status', 1);
}])
->where('group_id', $group->id)
->paginate(20);
$pageTitle = $group->name;
// SEO
$image = (!empty($group->image)) ? asset('storage/app/' . $group->image) : asset('storage/app/uploads/default.png');
$seo = new Controller();
$seo->seo_tools(
$group->meta_title,
$group->meta_description,
$group->meta_keyword,
$image,
URL::current()
);
return view('catalog.pages.product-group',
compact('pageTitle', 'groupPivot')
);
}
public function search() {
// if(isset($_GET['option']) && $_GET['option'] != '') {
// $user->where('name', 'LIKE', '%' . $request->name . '%');
// }
if(isset($_GET['key']) && $_GET['key'] != '') {
$key = $_GET['key'];
} else {
$key = '';
}
$products = $this->filter($key);
$pageTitle = 'Đã tìm thấy '. count($products) .' kết quả cho từ khóa: ' . $_GET['key'];
return view('catalog.pages.search',
compact('pageTitle', 'products')
);
}
public function filter($key) {
$filter = ProductDescription::query();
if($_GET['key'] != '') {
$filter->where('name', 'LIKE', '%' . $_GET['key'] . '%');
}
$filter->orderBy('id', 'desc');
return $filter->paginate(50);
}
public function getClientLogin() {
// SEO
SEOMeta::setTitle('Đăng nhập tài khoản');
$pageTitle = 'Đăng nhập tài khoản';
return view('catalog.pages.login',
compact('pageTitle')
);
}
public function postClientLogin(Request $request) {
$validated = $request->validate([
'userLogin' => 'required|max:150',
'passwordLogin' => 'required|min:6|max:20',
],[
'userLogin.required' => 'Email không được bỏ trống!',
'userLogin.max' => 'Email tối đa 150 ký tự!',
'passwordLogin.required' => 'Mật khẩu không được bỏ trống!',
'passwordLogin.min' => 'Mật khẩu ít nhất từ 6 ký tự!',
'passwordLogin.max' => 'Mật khẩu tối đã 20 ký tự!',
]);
$checkUserLogin = Customer::where('email', trim($request->userLogin))
->where('status', 1)
->first();
if($checkUserLogin) {
if(Hash::check($request->passwordLogin, $checkUserLogin->password)) {
// create session user login info
$request->session()->put('userLogin', $request->userLogin);
$request->session()->put('nameUserLogin', $checkUserLogin->lastname . ' ' . $checkUserLogin->firstname);
// redirect to home page
return redirect()->route('client.index');
} else {
return redirect()->route('catalog.clientLogin')->with('error_msg', 'Email đăng nhập hoặc mật khẩu không đúng');
}
} else {
return redirect()->route('catalog.clientLogin')->with('error_msg', 'Email đăng nhập hoặc mật khẩu không đúng');
}
dd($checkLogin);
return redirect()->route('catalog.clientLogin')->with('success_msg', 'Đăng nhập thành công');
}
public function getClientRegister() {
// SEO
SEOMeta::setTitle('Đăng ký tài khoản');
$pageTitle = 'Đăng ký tài khoản';
return view('catalog.pages.register',
compact('pageTitle')
);
}
public function postClientRegister(Request $request) {
$validated = $request->validate([
'lastName' => 'required|max:50',
'firstName' => 'required|max:50',
'email' => 'required|max:150|unique:customer,email',
'phoneNumber' => 'required|max:20',
'userPassword' => 'required|min:6|max:20',
'confirmPassword' => 'required|same:userPassword',
],[
'lastName.required' => 'Họ không được bỏ trống!',
'lastName.max' => 'Họ tối đa 50 ký tự!',
'firstName.required' => 'Tên không được bỏ trống!',
'firstName.max' => 'Tên tối đa 50 ký tự!',
'email.required' => 'Email không được bỏ trống!',
'email.max' => 'Email tối đa 150 ký tự!',
'email.unique' => 'Email đã được sử dụng!',
'phoneNumber.required' => 'Số điện thoại không được bỏ trống!',
'userPassword.required' => 'Mật khẩu không được bỏ trống!',
'userPassword.min' => 'Mật khẩu ít nhất từ 6 ký tự!',
'userPassword.max' => 'Mật khẩu tối đã 20 ký tự!',
'confirmPassword.required' => 'Vui lòng nhập lại mật khẩu!',
'confirmPassword.same' => 'Mật khẩu không trùng nhau!',
]);
DB::table('customer')->insertOrIgnore([
'email' => $request->email,
'password' => Hash::make($request->userPassword),
'firstname' => $request->firstName,
'lastname' => $request->lastName,
'telephone' => $request->phoneNumber,
'newsletter' => $request->newsletter,
'address_id' => 0,
'status' => 1,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
]);
return redirect()->route('catalog.clientLogin')->with('success_msg', 'Đăng ký tài khoản thành công. Giờ đây bạn có thể đăng nhập và mua hàng');
}
public function getClientLogout() {
if (session()->exists('userLogin') || session()->exists('nameUserLogin')) {
// destroy session user login
session()->forget(['userLogin', 'nameUserLogin']);
// redirect to homepage
return redirect()->route('catalog.homepage');
}
}
public function payment() {
if (session()->has('userLogin')) {
$cart = Cart::content();
$cartPriceTotal = Cart::priceTotal();
// SEO
SEOMeta::setTitle('Thanh toán đơn hàng');
$pageTitle = 'Thanh toán đơn hàng';
return view('catalog.pages.payment',
compact('pageTitle', 'cart', 'cartPriceTotal')
);
} else {
return redirect()->route('catalog.clientLogin')->with('error_msg', 'Bạn phải đăng nhập mới có thể thanh toán đơn hàng');
}
}
public function setSessionInstallment(Request $request) {
// setup product id for tra_gop session
session()->put('tra_gop', $request->productId);
return response()->json([
'status' => 200,
'message' => 'success',
'url' => route('catalog.installment')
]);
}
public function installment() {
if(session()->has('tra_gop')) {
$product = Product::findOrFail(session()->get('tra_gop'));
$provinces = Province::orderBy('name', 'asc')->get();
return view('catalog.pages.tra_gop',
compact('product', 'provinces')
);
} else {
return redirect()->route('catalog.homepage');
}
}
public function tienGopThang(Request $request) {
$product = Product::findOrFail(session()->get('tra_gop'));
$htmlData = '
<thead>
<tr>
<td class="row-head">Gói trả góp</td>
<td><strong>6 tháng (Lãi 0%)</strong></td>
<td><strong>9 tháng</strong></td>
<td><strong>12 tháng</strong></td>
<td><strong>18 tháng</strong></td>
</tr>
</thead>';
$htmlData .= '
<tbody>
<tr>
<td class="row-head">Gói sản phẩm</td>
<td class="text-red">'.number_format($product->price).' đ</td>
<td class="text-red">'.number_format($product->price).' đ</td>
<td class="text-red">'.number_format($product->price).' đ</td>
<td class="text-red">'.number_format($product->price).' đ</td>
</tr>
<tr>
<td class="row-head">Trả trước</td>
<td class="text-red">'.number_format(tra_truoc($product->price, $request->percent)).' đ</td>
<td class="text-red">'.number_format(tra_truoc($product->price, $request->percent)).' đ</td>
<td class="text-red">'.number_format(tra_truoc($product->price, $request->percent)).' đ</td>
<td class="text-red">'.number_format(tra_truoc($product->price, $request->percent)).' đ</td>
</tr>
<tr>
<td class="row-head">Số tiền vay</td>
<td class="text-red">'.number_format(so_tien_vay($product->price, tra_truoc($product->price, $request->percent))).' đ</td>
<td class="text-red">'.number_format(so_tien_vay($product->price, tra_truoc($product->price, $request->percent))).' đ</td>
<td class="text-red">'.number_format(so_tien_vay($product->price, tra_truoc($product->price, $request->percent))).' đ</td>
<td class="text-red">'.number_format(so_tien_vay($product->price, tra_truoc($product->price, $request->percent))).' đ</td>
</tr>
<tr>
<td class="row-head">Góp mỗi tháng</td>
<td class="text-red">'.number_format(tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 6)).' đ</td>
<td class="text-red">'.number_format(tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 9)).' đ</td>
<td class="text-red">'.number_format(tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 12)).' đ</td>
<td class="text-red">'.number_format(tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 18)).' đ</td>
</tr>
<tr>
<td class="row-head">Chênh lệch với giá mua thẳng</td>
<td>'.number_format((((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 6)*6) + tra_truoc($product->price, $request->percent)) - $product->price) + (so_tien_vay($product->price, tra_truoc($product->price, $request->percent))*0.085)).' đ</td>
<td>'.number_format(((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 9)*9) + tra_truoc($product->price, $request->percent)) - $product->price).' đ</td>
<td>'.number_format(((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 12)*12) + tra_truoc($product->price, $request->percent)) - $product->price).' đ</td>
<td>'.number_format(((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 18)*18) + tra_truoc($product->price, $request->percent)) - $product->price).' đ</td>
</tr>
<tr>
<td class="row-head">Giá sản phẩm khi mua trả góp</td>
<td class="text-red">'.number_format((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 6)*6) + tra_truoc($product->price, $request->percent)).' đ</td>
<td class="text-red">'.number_format((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 9)*9) + tra_truoc($product->price, $request->percent)).' đ</td>
<td class="text-red">'.number_format((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 12)*12) + tra_truoc($product->price, $request->percent)).' đ</td>
<td class="text-red">'.number_format((tien_gop(so_tien_vay($product->price, tra_truoc($product->price, $request->percent)), 18)*18) + tra_truoc($product->price, $request->percent)).' đ</td>
</tr>
<tr>
<td></td>
<td><button type="submit" class="choose-bank" data="'.$request->percent.',6">CHỌN MUA</button></td>
<td><button type="submit" class="choose-bank" data="'.$request->percent.',9">CHỌN MUA</button></td>
<td><button type="submit" class="choose-bank" data="'.$request->percent.',12">CHỌN MUA</button></td>
<td><button type="submit" class="choose-bank" data="'.$request->percent.',18">CHỌN MUA</button></td>
</tr>
</tbody>
<div class="overlay">
<img src="'. asset('public/catalog/assets/img/refresh.gif') .'" alt="Refresh">
</div>
';
return response()->json([
'status' => 200,
'message' => 'success',
'data' => $htmlData
]);
}
public function postTraGop(Request $request) {
if(!empty($request->tra_gop)) {
$explore = explode(',', $request->tra_gop);
$percent = $explore[0];
$month = $explore[1];
} else {
$percent = '';
$month = '';
}
DB::table('tra_gop')->insert([
'p_name' => $request->p_name,
'p_image' => $request->p_image,
'customer_name' => $request->name,
'customer_card_id' => $request->card_id,
'customer_phone' => $request->phone,
'customer_email' => $request->email,
'province_id' => $request->province,
'percent' => $percent,
'month' => $month,
'note' => $request->note,
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s'),
]);
return response()->json([
'status' => 200,
'message' => 'success'
]);
}
public function analyticsOnline() {
$tg = time();
$tgout = 900; //15 phút
$tgnew = $tg - $tgout; // sau 15 phút không làm gì sẽ không tính là online
$ip = $_SERVER['REMOTE_ADDR'];
$local = $_SERVER['HTTP_HOST'];
DB::table('useronline')->insert([
'tgtmp' => $tg,
'ip' => $ip,
'local' => $local,
'created_at' => date('Y-m-d H:i:s')
]);
DB::table('useronline')->where('tgtmp', '<', $tgnew)->delete();
// $sql = "SELECT DISTINCT ip FROM useronline";
// $query = mysqli_query(connectDB(), $sql);
// $user = mysqli_num_rows($query);
// $num_user = number_format($user);
// $online = $num_user * 2;
}
public function analyticsAccess() {
//Kiểm tra xem IP có phải là từ Share Internet
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip_address = $_SERVER['HTTP_CLIENT_IP'];
}
//Kiểm tra xem IP có phải là từ Proxy
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
//Kiểm tra xem IP có phải là từ Remote Address
else {
$ip_address = $_SERVER['REMOTE_ADDR'];
}
DB::table('truycap')->insert([
'ip_address' => $ip_address,
'created_at' => date('Y-m-d H:i:s')
]);
}
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
Sử dụng các tiện ích mở rộng để tìm kiếm hình ảnh tương đồng nhanh hơn. Ảnh: MINH HOÀNG
Nguồn: https://kynguyenso.plo.vn/cach-khoi-phuc-tuy-chon-search-google-for-image-post694934.html
Bài viết mới nhất
test 2
21/03/2023 21:03:27
tesst
21/03/2023 21:00:54
Cách kiểm tra trình duyệt trên TikTok có theo dõi bạn hay không?
16/03/2022 14:29:13
Kĩ thuật mới có thể vượt qua tính năng xác thực 2 yếu tố
16/03/2022 13:29:34