Developers › Dev.Opera

URL filter

December 6, 2011 · by Opera Software

opera.extension.urlfilter.block.add()
Adds a rule to the virtual list of blocked URLs.
opera.extension.urlfilter.block.remove()
Removes a rule from the virtual list of blocked URLs.

Overview

The URL Filter API for Opera extensions defines a DOM interface that allows extensions to add temporary rules to Opera's native content blocker. Rules added through this API are associated with an extension and apply as long as the extension is enabled. Once an extension is disabled or the browser is shut down, the temporary rules are discarded.

To enable the URL filter, the opera:urlfilter feature needs to be added as a feature element to the extension's config.xml file.

An in-depth tutorial is available at Dev.Opera: Site blocking with Opera's URL Filter API

Example

Block example.com/images, example.com/css and any subdirectories, whatever the protocol. Note that www.example.com and other sub-domains are not affected.

<!-- 
  The configuration file ('config.xml').
-->
<?xml version='1.0' encoding='utf-8'?>
<widget xmlns="http://www.w3.org/ns/widgets">
    <feature name="opera:urlfilter"/>
</widget>
//
// The background process (e.g. index.html)
//

// Check that the URL Filter API exists
if (typeof opera.extension.urlfilter != 'undefined') {
  // Create a list of rules to block
  var rules = ['*://example.com/images/*', '*://example.com/css/*'];

  // Assign the URLFilter object to a variable for efficiency
  var filter = opera.extension.urlfilter;

  // Loop through the array of rules and add each one to the "block" list
  for (var i = 0, len = rules.length; i < len; i++) {
    filter.block.add(rules[i]);
  }
}

About this article

Published inDev.Opera
DateDecember 6, 2011
AuthorOpera Software
Tagsextensions API, URL filter
OriginalInternet Archive