I would like to know how the Chrome plugin "iReader" works. I would like to know what is the magic behind the detect the web page is enable "reader".Moreover, I would like to know how it extract the content of blog post. How can I inspect it?
Most Chrome plugins are open source so you can download them from the project's homepage. Besides, you can also open the Chrome Developer Tools and switch to script tag. There should be some scripts named "chrome-extension://".
The arbitrary string behind the "chrome-extension://" is the ID of the plugin. If you're using Windows Vista and above, refer to "C:\Users\${YOU USER NAME}\AppData\Local\Google\Chrome\User Data\Default\Extensions" to find out the ID of the "iReader".
Related
I'm working for a project which run by chrome headless driver puppeteer, And i recently found a website (https://chrome.browserless.io/) could show puppeteer process in browser. This website appended an chrome devtoll which looks like magic.
i try to figure out how did work, and i found that this website inject a chrome devtool iframe, and the url usually like below:
https://chrome-devtools-frontend.appspot.com/serve_file/#7f3cdc3f76faecc6425814688e3b2b71bf1630a4/inspector.html?wss=chrome.browserless.io/devtools/page/(4BDC5841A823B95BF9B6107801819A31)&remoteFrontend=true
i think the version after inspector.html refer for the puppeteer code, but i don't know how this work.
i think this is some method imply over DevTools Protocol. I search the document but found nothing about how to put chrome devtool iframe in browser.
Does anyone know how to do this? or any document about this?
The Browserless Chrome Debugger you mentioned in your question has an instance of CodeMirror text editor embedded in the left hand section.
In the right hand section, an iframe element exists to display the result of the code you executed.
Simply put, you can simulate this type of behavior and allow users to execute Puppeteer code directly from your website by following a series of steps:
Sandbox a section of your system with a system container manager, such as LXD.
Install Node.js, NPM, and Puppeteer.
Install a web-based code editor, like CodeMirror, and embed it into a web page.
Validate and send an AJAX request with the code from the text editor to your sandbox server.
Sanitize the code, and then pass the code to Puppeteer.
Return the result to your callback function in your AJAX request on the client-side.
Format and sanitize the result before displaying it in an iframe.
Note: This is a naive implantation of this concept intended to explain the bare necessities of what would be required to obtain the goal in the question.
Make sure that you follow all generally recommended security practices.
I'm trying to develop an eclipse plugin (GUI) which will include a button that I want linked to some page in the Eclipse Help Content, according to some parameters chosen in the plugin (gui), so when I press it, the content opens.
I saw that help content are found on, and can be opened in a browser like way using their http://xx.xx.xx.xx/help/..(rest of path)/(my page).html .
my question is how can i get this xx.xx.xx.xx in the code or the whole path so I can need only to concatenate (my page). (what you see in red in pic).
I assume this is some field in a class that represents this server.
Thanks
what this port looks like
You normally use the Eclipse Help System to display help pages:
IWorkbenchHelpSystem helpSys = PlatformUI.getWorkbench().getHelpSystem();
helpSys.displayHelp("help context id");
From addin Session.Repository.ShowBrowser is used to show the project browser but we have to provide tab name and url as argument for this.So what are the values for those arguments we can provide such that if project browser is not openend we want to open it from adddin
Repository.ShowBrowser is used to call an internal browser and not the project browser .Its undocumented seems .
Please refer in Sparx Community for more details .
As #dahsra said, this is not possible via API. You could mimic the key press Alt-0 to enforce showing the project browser.
Is there any way to load firebreath plugin in firefox extension.I've seen one way by injecting html related to plugin into DOM as explain here(see "http://stackoverflow.com/questions/5688904/scriptable-npapi-plugin-doesnt-work-with-firefox")
I think its better that extension will load plugin in background to avoid any security issues.
my plugin has nothing to do with drawing, its just send data to a specific port by calling a simple function.I'm new to extension development so any example will be helpful...
Sounds like you figured it out, but for the sake of any who find this question with the same issue: a NPAPI-based plugin (FireBreath or otherwise) can only be loaded inside of a DOM; however, in the case of a firefox extension (or Chrome extension for that matter) it doesn't have to neccesarily be the DOM of the web page, it could also be the DOM of the extension.
In this case, you can load the plugin in the XUL file.
It's also worth checking out this thread:
Using a plugin generated with Firebreath in a Firefox Extension?
I have a plug-in that handles its own url schema (something like mystuf:// ). If a user clicks on such a link when the plug-in isn't installed (s)he gets an ugly error. So I extended my installer to write into the Registry (for Internet Explorer) and the user.js (for Firefox) to ADD a custom string to the user agent string. These additions survive a browser upgrade nicely (Microsoft uses this technique to indicate the presence of the dotNet Framework).
Now I need to extend this to Apple Safari and Google Chrome on all supported platforms.
To be clear: I'm not looking how to REPLACE the user agent string, but how to amend it with additional information.
Any hint?
I faced a similar problem and I implemented this in the same way as apple do for iTunes as described in this SO question. Finding information on how to create the Firefox plugin was more tricky, but the answer to my question was a great help. The Firefox (or mozilla) plugin will be used by all mozilla based browsers (Firefox, Chrome, Safari) and you will therefore be able to use the same javascript to detect the firefox plugin in all of these browsers and therefore determine whether your plugin/custom protocol/application is installed.
As Google Chrome supports the Netscape Plugin API ( http://en.wikipedia.org/wiki/NPAPI ), the Firefox way might be a good starting point also there.