Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Chrome extension PDF detection with GET request from event page
'use strict';
* Check if the request is a PDF file.
* @param {Object} details First argument of the webRequest.onHeadersReceived
* event. The properties "responseHeaders" and "url"
* are read.
* @return {boolean} True if the resource is a PDF file.
function isPdfFile(response, url) {
var header = response.getResponseHeader('content-type');
if (header) {
var headerValue = header.toLowerCase().split(';', 1)[0].trim();
return (headerValue === 'application/pdf' ||
headerValue === 'application/octet-stream' &&
url.toLowerCase().indexOf('.pdf') > 0);
chrome.browserAction.onClicked.addListener(function callback(tab) {
var oReq = new XMLHttpRequest();
oReq.addEventListener('load', function() {
if (isPdfFile(this, tab.url)) {
chrome.browserAction.setBadgeText({text: 'PDF'});
} else {
chrome.browserAction.setBadgeText({text: 'HTML'});
});'GET', tab.url);
"manifest_version": 2,
"name": "Detecting PDFs with GET requests Demo",
"description": "This extension demonstrates a technique for detecting PDFs GET requests",
"version": "1.0",
"browser_action": {},
"permissions": [
"background": {
"scripts": ["eventPage.js"],
"persistent": false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment