Giter VIP home page Giter VIP logo

firequery's People

Contributors

aliuk2012 avatar janodvarko avatar stof avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firequery's Issues

DebuggerServer.ObjectActorPreviewers is undefined

STR:

  1. Install FireQuery
  2. Restart Firefox
  3. Open Add-on Manager
  4. Disable and enable, see the error console

There is an error: FireQuery: DebuggerServer.ObjectActorPreviewers is undefined

This comes from firequery-actor.js, from the attach() method

Honza

"data" not showing in "inspector" when added later

Tested with:
OSX 10.10, Firefox 36.0.1, Firebug 3.0.0 a9, Firequery 2.0.0 b1

Test 1:

now you can see some data infos

  • klick on Button "Add H1 data" on the testpage

now you still see the same data infos. h1 still has no data showing. if you do a console log console.log($("h1").data()) you see it was added correctly.

Test 2:

now you still see h1 has no Data - but if you do a console log console.log($("h1").data("test2")) it's there.

Got a mutation for an unexpected actor

The entire error message is:
JSM trace: Got a mutation for an unexpected actor: server1.conn0.domnode3507, please file a bug on bugzilla.mozilla.org!

  1. Load: http://edition.cnn.com/
  2. Select the Inspector panel and search for any element that has jQuery.data associated (see the little envelope next to the element) e.g. '#intl_homepage1-zone-1'
  3. Click on the envelop to see the data
  4. Refresh the page and check out the Browser console.

Here is a platform bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1182135

Honza

Firequery can run into trouble with CSPs

So, um, it looks like firequery is injecting some script into pages that can run into trouble with CSP.

I noticed this because I was having trouble logging into accounts.firefox.com (hoping to tag some stuff on AMO), and when I opened the devtools, this message caught my eye:

Content Security Policy: The page's settings observed the loading of a resource at self ("script-src https://accounts.firefox.com https://accounts.cdn.mozilla.net"). A CSP report is being sent.

The message is attributed to line 382 of resource://firequery-at-binaryage-dot-com/lib/firequery-actor.js, which reads as follows:

    win.eval(this.watcher);

Given the context,

    let win = this.parent.window.wrappedJSObject;
    win.addEventListener("jQueryDetected", this.onJQueryDetected, true);
    win.addEventListener("firequery-event", this.onDataModified, true);
    win.eval(this.watcher);

the cause of the problem is obvious: you're calling the debuggee's eval function, which is not permitted by the debuggee's CSP.

I was poking around MDN looking for something that might help, and I ran across a link to mozilla bug #1042840, which removed [Component.utils.evalInWindow] because ...

Now that eval() resolves on Xrayed globals, this is unnecessary. The only functional difference between the two is that evalInWindow implicitly clones its return value, and we've decided in bug 1042824 that we want to move away from implicit cloning.

(Apparently, the change allowing eval on Xray'ed global objects was part of bug #933681.)

So it seems like maybe the problem would go away if you skipped the .wrappedJSObject here (and before the other win.eval call)?

Migrate to a WebExtension

Firefox will not support old-style XUL-based extensions starting November 2017 (in Firefox 57+). Do you have plans to migrate to a new WebExtension standard?

Inspector pane is empty if you enable FireQuery while having Firebug 3.0b1 enabled

Using FireQuery 2.0.1 with Firebug 3.0.0 beta 1 in Nightly x64 2015-10-30.

When I start Nightly, having only Firebug enabled, and either

  • press the toolbar button of Firebug or
  • rightclick on an element and 'press Inspect Element'

then Inspector pane works ok, i.e. the HTML and CSS panes show info on the selected element.

If now I enable FireQuery, then Inspector panes appear empty:

and clicking the icon to "Pick an element from the page" does nothing.

When this occurs, disabling both FireBug + FireQuery (having now no other addons enabled) doesn't fix the problem - I have to restart Nightly (with FireQuery disabled) for Inspector to work again.

Here's what's shown in Browser Console shows when this occurs:

Error writing response to: getWalker                                protocol.js:1025
<unavailable>                                                       protocol.js:907
Protocol error (unknownError): InternalError: too much recursion    Promise-backend.js:937

This appears every single time on my everyday FF profile _(for some reason I couldn't reproduce it in a clean profile, though)._

The object cannot be linked to the inspector, the corresponding nodeFront could not be found

STR:

  1. Open: http://firequery.binaryage.com/test/
  2. Select the Console panel
  3. Refresh the page (multiple times)
  4. Check out the FBTrace or Browser console. There is an exception:

Console Service ERROR [JavaScript Error: "The object cannot be linked to the inspector, the corresponding nodeFront could not be found" {file: "resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js" line: 3212}] [JavaScript Error: "The object cannot be linked to the inspector, the corresponding nodeFront could not be found" {file: "resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/webconsole/console-output.js" line: 3212}]

Honza

Error: Invariant Violation: _registerComponent(...): Target container is not a DOM element

STR:

  1. Install FireQuery, launch Firefox
  2. Load: http://firequery.binaryage.com/test/
  3. Open the Toolbox, select the Inspector panel
  4. Open Browser Console
  5. There is an exception (logged repeatedly)
    Console Service ERROR [JavaScript Error: "Error: Invariant Violation: _registerComponent(...): Target container is not a DOM element." {file: "resource://firequery-at-binaryage-dot-com/data/lib/react.js" line: 18411}] [JavaScript Error: "Error: Invariant Violation: _registerComponent(...): Target container is not a DOM element." {file: "resource://firequery-at-binaryage-dot-com/data/lib/react.js" line: 18411}]

Honza

Don't work with FF49

"Handler function threw an exception: TypeError: this.tooltip is undefined
Stack: DataTooltip.prototype.show<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://firequery-at-binaryage-dot-com/lib/data-tooltip.js:68:5
exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
InspectorOverlay<.onClickTooltip/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://firequery-at-binaryage-dot-com/lib/inspector-overlay.js:255:7
Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:750:11
Line: 68, column: 5"

JavaScript events stop working

Hi - I noticed this review on

https://addons.mozilla.org/en-us/firefox/addon/firequery/

Cause some conflicts Rated 1 out of 5 stars

by TomaszKane on March 6, 2015 · permalink · translate

Kubuntu 14.02, Firefox 36, Firebug 2.0.8 and FireQuery 1.4.1

When I open Firebug JavaScript events stop working. After disable FireQuery problem gone.

and I found the same. I am using Firefox 37.0.1 and Firebug 2.08 and
FireQuery 1.4.1 on Windows 7 64bit.

Regards, Tim Makins

"Persist" and "jQuerify" buttons switch around on FF Dev Edition

In FF Dev Edition (make sure it has a homepage, my is pointing to the Dev Edition Start page).

  1. Open Firebug and check the console tab (Persist and then jQuerify)
  2. open another website, open Firebug and check the console tab (jQuerify and then Persist)

it maybe that Firequery is loading up before firebug on startup so when Firebug initialised there is already a jQuerify button and so just adds the Persist at the end.

Optimization: send 'data-modified' packets only if needed

The number or "data-modified" packets sent back to the client (by FireQueryActor) can be relatively big and it would be great if we can reduce the amount somehow.

The primary purpose of these event packets is to update UI of the Inspector panel. Make sure that the 'jquery-data' indicator (a little envelope icon) is created or removed. The Inspector panel usually doesn't display all of the elements and the update is not needed in most cases. So, if we could determine that the element, whose jQuery.data has changed, is actually not visible (or not even "imported" by the client) we don't have to send that data-modified packet at all.

How could we do that?

Honza

How to install??

Hi,

The first line in the wiki: 'Install FireQuery'. But how??? I've downloaded the zip. What should I do with this? Copy the contents somewhere? Could you please explain?

Arjen Haayman

Inspector DOM Tree curruption.

I don't know why or how, but when FireQuery is enabled some elements in the DOM tree can't be unfolded or rather they appear empty when unfolded despite having inner html. The common thing about these elements is they all are being processed with JQ. I've noticed that it sometimes works correctly on the first page inspection in a session but after a page reload the problem persists.

Disabling the extension removes the issue. I know its only a beta, but its a pretty major flaw.

Disabling FireQuery requires to restart Firefox (though it's restartless)

To reproduce:

  • in a clean Nightly x64 2015-11-03 profile (win10x64), with only fireQuery installed (this latest test build)
  • open the jQuery Test page
  • open DevTools(Ctrl+Shift+I) and click the Console tab
  • press the Log data button:
    You'll see that two new entries with a little envelope in Console .
    You can inspect the data by clicking on the envelope icon. Also notice the jQuerify button.
    Now close DevTools
  • now open about:addons in a new tab and disable fireQuery.
  • open DevTools again and click the Log data button:
    you'll see that the new entries still have the envelope icons, and that the jQuerify button is still there.

You must restart Firefox for fireQuery to be disabled.


_Enabling it from disabled state applies immediately though (after closing and re-opening DevTools)._

jQueryDetected event fired late?

The "jQueryDetected" event should be fired when jQuery is detected on the page, which should happen almost immediately when it's loaded on the page, but it isn't the trace message (from FireQueryActor.onJQueryDetected) appears when Inspector panel jQuery tooltip is opened or the page refreshed. This needs to be investigated.

Honza

Support for jQuery Lint

It should be possible to inject jQuery lint into the page (if not yet loaded) to report errors and any incorrect usage of jQuery.

See more:
http://james.padolsey.com/javascript/jquery-lint/

There is already the injector code available in the code base and so, we just need to wire it up and perhaps have a little & handy UI for it.

Honza

MarkupView element isn't auto-expanded

MarkupView element isn't auto-expanded when the user clicks a link from within jQuery.data tooltip displayed inside the Inspector panel.

STR:

  1. Load http://softwareishard.com/temp/firequery/test1/index.html
  2. Select the Inspector panel and find "div.doc" element. Click on associated envelop icon.
  3. Expand the 'test' object and click on "div#test-div" element (on the value)
  4. The element is supposed to be selected in the Inspector panel, but it isn't because it's not directly visible and auto-expanding of its parent element doesn't work

You can try clicking on "body#content" (again the value), the body element is properly selected in the MarkupView since it's visible (?).

Platform support might be needed.

Here is the related piece of code that does the auto-selection of given node.

onNavigate: function(grip) {

(look for 'onNavigate' method)

Honza

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.