Tôi đang cố gắng tạo tiện ích mở rộng của Chrome để giúp tôi hiểu API webRequest của Chrome bằng cách sao chép những gì được thực hiện với this answer nhưng không có phần thử nghiệm của không gian tên, không còn cần thiết nữa kể từ khi webRequest bây giờ trong thân cây của Chrome.Chuyển tiếp đơn giản bằng cách sử dụng Google Chrome webRequest API
Trong trang nền của tôi Tôi có đoạn code:
<!DOCTYPE html>
<html>
<head>
<script>
function interceptRequest(request) {
return { redirectUrl: 'http://www.yahoo.com' }
}
chrome.webRequest.onBeforeRequest.addListener(interceptRequest, { urls: ['*://*.google.com/*'] }, ['blocking']);
</script>
</head><body></body>
</html>
Trong file manifest của tôi, tôi có:
{
"name": "My Extension",
"version": "0.1",
"background_page": "background.html",
"permissions" : [
"webRequest",
"webRequestBlocking",
"*://*/*"
]
}
Dựa trên trước hỏi câu hỏi, tôi nên được chuyển tiếp đến http://www.yahoo.com khi tôi truy cập https://www.google.com và tiện ích mở rộng của tôi được tải, tuy nhiên, https://www.google.com tải mà không có bất kỳ hiệu ứng chuyển tiếp nào. Tôi cần phải làm gì để chỉ cần chuyển tiếp người dùng từ một URI này sang một URI khác bằng URI API webRequest trong Chrome?
Thật kỳ quặc. Điều duy nhất tôi có thể nghĩ đến là đảm bảo bạn không tải bất kỳ XHR đồng bộ nào hoặc bao gồm bất kỳ thẻ tập lệnh nào từ tài nguyên trực tuyến trong trang nền của bạn, từ tài liệu Chrome. – gengkev