browser-extension | The Hypothesis browser extensions | Browser Plugin library

 by   hypothesis JavaScript Version: v1.1294.0 License: BSD-2-Clause

kandi X-RAY | browser-extension Summary

kandi X-RAY | browser-extension Summary

browser-extension is a JavaScript library typically used in Plugin, Browser Plugin applications. browser-extension has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

The Hypothesis browser extensions allow you to annotate web documents using your Hypothesis account.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              browser-extension has a low active ecosystem.
              It has 432 star(s) with 110 fork(s). There are 25 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 43 open issues and 69 have been closed. On average issues are closed in 908 days. There are 5 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of browser-extension is v1.1294.0

            kandi-Quality Quality

              browser-extension has 0 bugs and 0 code smells.

            kandi-Security Security

              browser-extension has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              browser-extension code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              browser-extension is licensed under the BSD-2-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              browser-extension releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.
              browser-extension saves you 1140 person hours of effort in developing the same functionality from scratch.
              It has 2576 lines of code, 0 functions and 46 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of browser-extension
            Get all kandi verified functions for this library.

            browser-extension Key Features

            No Key Features are available at this moment for browser-extension.

            browser-extension Examples and Code Snippets

            No Code Snippets are available at this moment for browser-extension.

            Community Discussions

            QUESTION

            Vue.js devtools not detected for a Chrome Extension build in Vue.js
            Asked 2021-Mar-29 at 13:23

            I have build a Vue 3 app injected using a content script of a Chrome extension but the Vue.js app is not detected from devtools (beta and stable version).

            I tried all the following:

            • Allow Access to file URLs in chrome://extensions/ -> Vue Devtools

            vue.config.js

            ...

            ANSWER

            Answered 2021-Mar-29 at 13:23

            QUESTION

            How to load table-to-json plugin dependency in Vue?
            Asked 2020-May-02 at 13:52

            I'm trying to figure out what is the way to use hierarchical dependencies in node.

            I'm building a VueJs chrome extension using Vue CLI and vue-cli-plugin-browser-extension (https://www.npmjs.com/package/vue-cli-plugin-browser-extension). In the background file I need to use two dependencies:

            1. jquery
            2. table-to-json (https://www.npmjs.com/package/table-to-json)

            table-to-json needs jquery in order to work

            I installed the two dependency using node install and require the dependencies in the background fild. But when I try to run the background script I get this error:

            background.js:37 Uncaught ReferenceError: jQuery is not defined at Object.f370 (background.js:37) at n (background.js:1) at Object.fe77 (background.js:37) at n (background.js:1) at Object.1 (background.js:1) at n (background.js:1) at background.js:1 at background.js:1 f370 @ background.js:37 n @ background.js:1 fe77 @ background.js:37 n @ background.js:1 1 @ background.js:1 n @ background.js:1 (anonymous) @ background.js:1 (anonymous) @ background.js:1 DevTools failed to load SourceMap: Could not load content for chrome-extension://ljejdkiepkafbpnbacemjjcleckglnjl/js/background.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME

            table-to-json is not able to see jquery. What am I missing?

            This is my background file, package.json and vue.config.js:

            backgroung.js

            ...

            ANSWER

            Answered 2020-May-02 at 10:01

            The problem isn't applicable to Node dependencies in general. table-to-json is legacy jQuery plugin and relies on jQuery globals instead of JavaScript modules. It expects jQuery variable to exist in the scope where the plugin is executed.

            This can be achieved by exposing jQuery globals explicitly:

            Source https://stackoverflow.com/questions/61556945

            QUESTION

            CSS files changes when I run ```npm run dev``
            Asked 2020-Jan-26 at 21:06

            I am working on a open source project, and there's this error that even when there are no images to show, the extension(The app is basically is a web browser extension which let's you search images) still shows the "Load More" button, so I thought I could remove this bug by adding the class ```removeButton`` to the button which applies the following setting

            ...

            ANSWER

            Answered 2020-Jan-26 at 21:06

            I think this is probably because you're npm run dev is compiling a SASS file and you're editing the compiled/another CSS file. Make sure you're editing the SASS file.

            In your provided repo, the SASS files are here - I expect you're editing the compiled CSS files so make sure you're editing these .scss ones instead.

            Source https://stackoverflow.com/questions/59922662

            QUESTION

            In chrome extension, how to use content script to inject a Vue page
            Asked 2020-Jan-23 at 07:55

            I'm trying to implement a JSON viewer chrome extension. I already have the Viewer implemented with Vue (http://treedoc.org). Now the problem is how can I can inject the Vue page with Chrome extension content script.

            I found this post is very helpful to inject normal javascript file in the extension. But this is with a known javascript file name.

            I found this post and this vue-cli-plugin-browser-extension is helpful to use Vue for extension options page and override page, etc, as the entry point for them are HTML files. but the content script entry point is a javascript, to inject a javascript file in the content script, you need to know the exact file name. With the plugin and Webpack, the generated javascript files are appended with hash such as "override.0e5e7d0a.js" which is not known upfront.

            ...

            ANSWER

            Answered 2020-Jan-20 at 08:55

            The vue-cli-plugin-browser-extension does not include a hash in the filename of content scripts, so no need to worry.

            To add content scripts, configure the plugin's componentOptions.contentScripts, as shown in this example (generated from vue add browser-extension from the root of a Vue CLI project):

            Source https://stackoverflow.com/questions/59816151

            QUESTION

            Ajax Call to Web API works in Chrome but not in Edge
            Asked 2020-Jan-10 at 08:01

            I have created an Edge extension that currently makes an Ajax call to a web API i have also developed in order to request data. Currently after hours of testing, I know the Ajax call works correctly and returns the relevant data.

            My issue is the Ajax call will fail when I attempt to call it from my Edge extension. It doesn't provide any reasoning or errors, just simply the error message I added to the Ajax call (error: .... see below). Having tested the exact same extension and Ajax call to my web API in chrome the Ajax call from within the extension works correctly and returns the data from which I can then use.

            ...

            ANSWER

            Answered 2020-Jan-10 at 08:01

            It might because Microsoft Edge has network isolation by default for security reasons. You could enable loopback and debug the localhost server by running the following command from a cmd prompt as administrator, then restart Microsoft Edge:

            Source https://stackoverflow.com/questions/59670861

            QUESTION

            How can I create a Vuetify based browser extension?
            Asked 2019-Nov-22 at 10:30

            I'm using the Vue CLI UI.
            I've created a project and added the vue-cli-plugin-browser-extension

            So far so good.

            Now I'm trying to add Vuetify into the mix.
            I tried with the official plugin, but nothing shows up in the extension's popup.
            I tried the CDN approach but when I try to add Vuetify to the Vue instance I get an error saying Vuetify is not defined.

            Any Ideas?

            Also important: I would really much prefer not to use the CDN approach if it is at all possible. Is there a way to use npm install to also install the css and fonts needed to run Vuetify?

            ...

            ANSWER

            Answered 2019-Nov-22 at 10:30
            NPM Solution (with css and fonts brought in using CDN)

            Got it!
            It's not that hard after all but you need to pay attention to the differences between a regular app and a browser extension created by the Vue plugin.

            The main differences are:

            1. Each part of the extension (popup, options, tab, etc.) is a completely new and isolated Vue App.
            2. The html template used for the extension parts is not public/index.html
            Instructions:
            1. Create the project as instructed in the OP above.
            2. Install the Vuetify npm package: npm install vuetify
            3. In each main.js of each part you intend to use, add Vuetify:

            Source https://stackoverflow.com/questions/58942179

            QUESTION

            Any security vulnerabilities with this JSON response?
            Asked 2019-Mar-12 at 13:28

            I had to update a form on a certain webpage to change something i wanted. I failed to do so, but instead of sending a simple text reply saying 'This cannot work' for example, they sent a whole JSON response on the display. I'm just curious, does this response pose any security vulnerabilities for either me or the server i contacted to process my request?

            P.S. The '***'s in the response are so because I'm not sure if providing that info is the right thing to do. However, even without it, the response is fairly intuitive.

            This is the response:

            {"name":"StatusCodeError","statusCode":409,"message":"409 - [object Object]","error":{"status":"failure","message":"Email already taken.","code":91,"data":null,"error":{"message":"None"}},"options":{"uri":"*********","method":"POST","headers":{"Authorization":"Bearer *********=","Cookie":"*********=;cm_sub=denied","User-Agent":"********","Accept-Language":"en-US","Original-Accept-Language":"********","X-********-InstallId":"*****","X-*****-AppState":"active","X-*****-Parent-Rid":"********","X-*****-Root-Rid":"********","X-*****-Rid":"*****","X-Pixel-Ratio":1,"X-*****-App-Type":5,"X-Prefer-User-Locale":"1","X-Real-Ip":"********","X-*****-Real-Ip":"*****","X-*****-Csrf":"********","X-*****-Browser-Extension-Installed":"false","X-********-Referrer":"********","X-Bot":"false","X-Referrer":"********","X-Url":"********"},"form":{"base_scheme":"https","client_id":1431601,"timestamp":*****,"country":"US","email":"*****","oauth_signature":"********"},"traceId":false,"parseJson":true,"resolveWithFullResponse":true,"json":true,"simple":true},"response":{"statusCode":409,"body":{"status":"failure","message":"********","code"********,"data":null,"error":{"message":"None"}},"headers":{"server":"nginx","date":"Sun, 10 Mar 2019 16:08:31 GMT","content-type":"application/json","content-length":"112","connection":"close","*****-version":"*****","x-content-type-options":"*****","x-frame-options":"DENY","*****-generated-by":"********"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"*****","port":"*****","hostname":"localhost","hash":null,"search":null,"query":null,"pathname********","path":"/v3/users/settings/","href":"********"},"method":"POST","headers":{"Authorization":"********","Cookie*********","User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/******** Safari/537.36","Accept-Language":"en-US","Original-Accept-Language":"en-US,en;q=0.9","X-*****-InstallId":"********","X-*****-AppState":"active","X-*****-Parent-Rid":"********","X-*****-Root-Rid":"*************","X-*****-Rid":"*****","X-Pixel-Ratio":1,"X-*****-App-Type":5,"X-Prefer-User-Locale":"1","X-Real-Ip":"*****","X-*****-Real-Ip":"********","X-********-Csrf":"********","X-*****-Browser-Extension-Installed":"false","X-********-Referrer":"*************","X-Bot":"false","X-Referrer":"********","X-Url":"********","content-type":"application/x-www-form-urlencoded","accept":"application/json","content-length":179}}}}

            ...

            ANSWER

            Answered 2019-Mar-12 at 13:28

            Here's what I learned from this server response. The first thing I noticed is your protocol is using http.

            "protocol":"http:"

            HTTP is a plaintext and unencrypted form of communication. This is important to note because if someone is sniffing your traffic, they will be able to read the transmission as you have posted it here (without the *****'s blocking sensitive data).

            The next thing I noticed is your authorization token.

            "Authorization":"Bearer *********="

            Given that the message is in plaintext, an attacker will be able to steal your token. Using this token an attacker can communicate with the server as an authorized user, gaining access to (and possibly the ability to modify) private information.

            On the flip side, since we assume the attacker has sniffed your unencrypted traffic. They can also make note of your client's computer/ browser information:

            "User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/******** Safari/537.36"

            From this info, the attacker can gather that the client is using windows 8.1 and what browsers/versions are installed on the client's computer. With these system specs, the attacker can launch a targeted attack on the client's computer (especially if you have an outdated/ insecure OS or browser version).

            So to answer your question, yes there are security vulnerabilities for both the client and server.

            However, simply switching from HTTP to HTTPS would make a big difference in limiting your exposure.

            Source https://stackoverflow.com/questions/55107453

            QUESTION

            How to implement message passing callbacks in an all-in-one (Edge/Firefox/Chrome) browser extension's content script?
            Asked 2018-May-31 at 11:57

            Development Environment OS: Windows 7 Enterprise LTS
            Browser compatibility minimum requirements: Should support all Edge, Firefox, Chrome browsers, as of 2018.
            Current ongoing issue: Unable to run VM on dev workstation; Cannot run Windows 10 VMs to debug Microsoft Edge extensions.

            To explain:

            • An "all-in-one browser extension" refers to a browser extension code that uses the same code with minor differences to work on various WebExtensions / Chrome Extensions supported browsers. At bare minimum, the same codebase should work and run on Edge, Firefox, and Chrome with very minor changes.
            • Callbacks on the content scripts for Edge/Firefox/Chrome extensions are handled differently.
            • For unknown reasons, I cannot run VM on my workstation machine. When VM is running, VM client is black. This is a localized issue on my end that I cannot resolve, so I'm forced to find a different solution/alternative.

            How are they handled differently on the content scripts:

            • Edge: browser.runtime.sendMessage uses callbacks, and returns undefined.
            • Firefox: browser.runtime.sendMessage uses Promises, and returns a Promise.
            • Chrome: chrome.runtime.sendMessage uses callbacks, and returns undefined.

            According to various references:

            Firefox / Chrome / MS Edge extensions using chrome.* or browser.*

            https://www.smashingmagazine.com/2017/04/browser-extension-edge-chrome-firefox-opera-brave-vivaldi/

            On the content scripts, you can declare the following JavaScript snippet at the top in order to create a global variable that can be referenced everywhere else:

            ...

            ANSWER

            Answered 2018-May-31 at 11:57

            I believed I solved it.

            EDIT: The FINAL final version (updated and more stable, less message passing):

            Source https://stackoverflow.com/questions/50605931

            QUESTION

            Force install Microsoft Edge extension enterprise environment
            Asked 2018-Feb-08 at 16:36

            I am trying to automatically install a Microsoft Edge Extension in an enterprise managed environment: Google Chrome allow this behavior (check this post for further information), but it seems impossible to do the same for Edge (the Edge extension policy states that "The installation must be initiated and completed by the user, using only the user experience provided by Microsoft Edge and the Microsoft Store").

            ...

            ANSWER

            Answered 2018-Jan-09 at 14:09

            As you've said, I think it's not yet possible. You may check this thread which also stated that installation of extensions for Microsoft Edge must be initiated and completed by the user. However, there's a suggestion to try Add-AppxPackage which adds a signed app package (.appx) to a user account. Just make sure that package is signed because otherwise Add-AppxPackage would not work.

            Source https://stackoverflow.com/questions/48165292

            QUESTION

            Cross browser extension development framewok
            Asked 2017-Jul-31 at 08:55


            I was evaluating the development of a cross browser extension (supported browsers IE, Chrome, Safari and Firefox): I was looking for a cross-browser development framework, in order to avoid the code duplication and to fasten the building process.
            I had a look at this question, and I visited the suggested websites: every company seems to have stopped working on the product.
            I read this article too, whose conclusion seems to dissuade developer from the building of a cross browser extension.
            So, I have a few questions:
            - Does anyone of you recommend a cross browser extension development framework, which is suitable for the purpose I described above?
            - Is there a reason why the above frameworks are not maintained anymore?
            - Does anyone discovered a more efficient way to pursue the same aim without developing a browser extension?

            Thanks so much,
            Daniele

            ...

            ANSWER

            Answered 2017-Jul-31 at 08:55

            I not tested it yet, but Firefox WebExtensions seems to be best choice. Yes, you must make some changes to code, but usually it is not that bad.

            WebExtensions APIs are inspired by the existing Google Chrome extension APIs, and are supported by Opera, Firefox, and Microsoft Edge. We’re working to standardize these existing APIs as well as proposing new ones! Our goal is to make extensions as easy to share between browsers as the pages they browse, and powerful enough to let people customize their browsers to match their needs.

            Source https://stackoverflow.com/questions/45354722

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install browser-extension

            You can download it from GitHub.

            Support

            Join us on Slack for discussion. Please see our contact page for details of how to register. For help using the extension, please see our Help pages. If you'd like to contribute to the project, you should consider subscribing to the development mailing list, where we can help you plan your contributions. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/hypothesis/browser-extension.git

          • CLI

            gh repo clone hypothesis/browser-extension

          • sshUrl

            git@github.com:hypothesis/browser-extension.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Browser Plugin Libraries

            Try Top Libraries by hypothesis

            h

            by hypothesisPython

            pdf.js-hypothes.is

            by hypothesisJavaScript

            legacyvia

            by hypothesisJavaScript

            bouncer

            by hypothesisPython

            lms

            by hypothesisPython