[{"data":1,"prerenderedAt":282},["ShallowReactive",2],{"project-17556805":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":70,"maker_in_thread":178,"shape":185,"grid":188,"attempts":246,"same_week":247,"maker_shows":33,"maker_hidden":274,"reader_version":275,"card":276},"17556805","Pinpointer","A Firefox extension to share links to page elements","title","Show HN: Pinpointer – A Firefox extension to share links to page elements","https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Fpinpointer\u002F","addons.mozilla.org","Rumperuu",1531907964,2018,91,26,481,2155,23,"notable","dev_tools","browser extension","browser_extension",[24,25,26,27],"link to element","css selector","fragment identifier","firefox extension","curious",-0.014,{"positive":31,"neutral":32,"mixed":33,"critical":31},3,7,1,14,{"execution":36,"idea":39,"docs":40,"privacy":41},{"positive":37,"critical":38},2,0,{"positive":33,"critical":33},{"positive":38,"critical":33},{"positive":38,"critical":33},[38,31,38,43,33,38,38,31,33,38,38,38,38,33,31,38,31,31,38,31,31,43,38,38,31,43],5,null,{"problem":46,"audience":44,"pricing":44,"motivation":53,"time_to_build":44,"stack":57,"openness":67,"stage":68,"team_size":69},{"value":47,"source":48,"evidence":49},"No easy way to link to page elements that lack IDs","maker",[50],{"id":51,"by":11,"text":52},"17556851","I wanted to try making a browser extension and it seemed weird to me that there didn't seem to exist any means of linking to specific elements on a web page if they hadn't been…",{"value":54,"source":48,"evidence":55},"Wanted to try making a browser extension and saw a gap in element linking",[56],{"id":51,"by":11,"text":52},[58],{"value":59,"source":48,"evidence":60},"WebExtensions (Firefox)",[61,64],{"id":62,"by":11,"text":63},"17558104","As yoklov said, I had to have a small script[1] run a quick check on every page you visit to check if the URL is a Pinpointer URL. As far as I can tell there's no way around this…",{"id":65,"by":11,"text":66},"17560671","It looks like that can only be triggered if the user interacts with the extension in some way. Presumably, then, it won't work if there's a script that should run on each page…","open_source","beta","unknown",{"praise":71,"objections":87,"requests":120,"questions":142,"alternatives":156},[72,80],{"value":73,"source":74,"evidence":75},"Good fix for a web usability issue when quoting and referencing documents","commenter",[76],{"id":77,"by":78,"text":79},"17558785","miga","Great fix for one of biggest web usability issues when quoting, and referencing complex documents.",{"value":81,"source":74,"evidence":82},"Interesting concept, keep going",[83],{"id":84,"by":85,"text":86},"17557459","severine","I have installed it and it doesn't work. In the Mozilla addons page it just says \"Pinpointer error\". In this HN page, it prompts me to select and click a green button, but fails…",[88,98,105,113],{"value":89,"source":74,"evidence":90},"Link is long and needs the extension to view",[91,94],{"id":92,"by":11,"text":93},"17557507","Good point.…",{"id":95,"by":96,"text":97},"17557921","dmortin","It kind of defeats the point that you need the extension to view the generated links. You may want to add an option to select only from the anchors\u002Fids from the page to generate…",{"value":99,"source":74,"evidence":100},"Requests broad access to data on all websites",[101],{"id":102,"by":103,"text":104},"17557455","insomniacity","\"It requires your permission to: Access your data for all web sites\" I wish Firefox had a permission along the lines of 'Access all data from pages on which I activate the…",{"value":106,"source":74,"evidence":107},"Did not work on some pages or addons.mozilla.org",[108,109],{"id":84,"by":85,"text":86},{"id":110,"by":111,"text":112},"17557767","eat_veggies","Content scripts are disabled on addons.mozilla.org",{"value":114,"source":74,"evidence":115},"Description page unclear about what it does",[116],{"id":117,"by":118,"text":119},"17558679","zouhair","You should also give more explanation on the addons pages, I read it and didn't understand what it does until I read this comment.",[121,128,134,138],{"value":122,"source":74,"evidence":123},"Add screenshots or a video",[124],{"id":125,"by":126,"text":127},"17557537","mosselman","A video or a few screenshots would help me understand how it works better and probably help with the number of installs.",{"value":129,"source":74,"evidence":130},"Post an example link to try",[131],{"id":132,"by":96,"text":133},"17557381","You should post such a generated link here as an example, so people can immediately try it by clicking on it.",{"value":135,"source":48,"evidence":136},"Shorter generated links",[137],{"id":51,"by":11,"text":52},{"value":139,"source":74,"evidence":140},"Narrower permission than access to all sites",[141],{"id":102,"by":103,"text":104},[143,149],{"value":144,"source":48,"evidence":145},"Why CSS selector fragment identifiers never took off",[146],{"id":147,"by":11,"text":148},"17560611","This is really interesting, I'm not sure how I didn't find it before. What I'd like to know is whatever happened to the CSS-selectors-as-fragment-identifiers movement and why it…",{"value":150,"source":74,"evidence":151},"Could XPath be used for selectors",[152],{"id":153,"by":154,"text":155},"17559865","idbehold","Would an XPath work for this? Seems like that would be easiest considering Firefox already has built-in support for getting the XPath from an element on the page.",[157,164,171],{"value":158,"source":74,"evidence":159},"Pinpoint (Safari extension)",[160],{"id":161,"by":162,"text":163},"17559018","karanlyons","You might want to take a look at https:\u002F\u002Fgithub.com\u002Fkaranlyons\u002Fpinpoint to see if there's anything there you want to grab, especially around the selector creation:…",{"value":165,"source":74,"evidence":166},"Archive.is text selection links",[167],{"id":168,"by":169,"text":170},"17560994","Izkata","> there didn't seem to exist any means of linking to specific elements on a web page if they hadn't been given IDs to make a fragment identifier out of There's archive sites that…",{"value":172,"source":74,"evidence":173},"Cypress unique selector package",[174],{"id":175,"by":176,"text":177},"17558694","supermdguy","Cypress (the testing framework) has a way to get a short, unique selector for any element on a page. It's even in its own npm package:…",{"comments":32,"answered":38,"key":179},[180,181,182],{"id":51,"text":52},{"id":92,"text":93},{"id":183,"text":184},"17558144","If you mean what I think you mean, you can already send a link that specifies a valid element ID on the page to anybody and have their browser focus on it — that's what fragment…",{"commenters":186,"max_depth":43,"maker_replies":32,"first_comment_mins":32,"lifespan_hours":187},17,9,[189,191,193,195,199,201,203,205,206,208,210,211,213,214,216,220,222,226,229,230,232,234,236,238,242,243],[51,38,38,190,11,33],"project\u002Fneutral\u002Fidea",[132,38,31,192,96,38],"maker\u002Fneutral\u002Fnone",[92,38,38,194,11,33],"project\u002Fneutral\u002Fexecution",[196,38,43,197,198,38],"17557686","project\u002Fpositive\u002Fexecution","yorwba",[95,38,33,200,96,38],"project\u002Fcritical\u002Fidea",[183,38,38,202,11,33],"commenter\u002Fneutral\u002Fidea",[175,38,38,204,176,38],"other\u002Fneutral\u002Fidea",[153,38,31,194,154,38],[117,38,33,207,118,38],"project\u002Fcritical\u002Fdocs",[161,38,38,209,162,38],"other\u002Fneutral\u002Fexecution",[147,38,38,204,11,33],[212,38,38,202,162,38],"17561073",[168,38,38,204,169,38],[102,33,33,215,103,38],"project\u002Fcritical\u002Fprivacy",[217,33,31,218,219,38],"17557855","project\u002Fneutral\u002Fprivacy","yoklov",[62,33,38,221,11,33],"maker\u002Fneutral\u002Fprivacy",[223,33,31,224,225,38],"17558613","maker\u002Fneutral\u002Fexecution","ChrisSD",[227,33,31,218,228,38],"17560426","iza",[65,33,38,221,11,33],[125,37,31,231,126,38],"maker\u002Fneutral\u002Fdocs",[84,31,31,233,85,38],"project\u002Fmixed\u002Fexecution",[235,31,43,197,85,38],"17557564",[237,31,38,224,11,33],"17557641",[239,31,38,240,241,38],"17560146","commenter\u002Fneutral\u002Fexecution","ChrisGranger",[110,31,31,194,111,38],[77,244,43,245,78,38],4,"project\u002Fpositive\u002Fidea",[],[248,253,257,262,266,270],{"id":249,"name":250,"points":251,"category":252},"17530086","Router7",461,"infrastructure",{"id":254,"name":255,"points":256,"category":252},"17540263","Hasura",382,{"id":258,"name":259,"points":260,"category":261},"17538770","Font Playground",131,"creative",{"id":263,"name":264,"points":265,"category":252},"17551796","CloudForecast.io",125,{"id":267,"name":268,"points":269,"category":20},"17559213","Ansible Kernel",123,{"id":271,"name":272,"points":273,"category":20},"17557384","Bo",104,false,"v2",{"id":277,"name":5,"line":6,"ai":274,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":278,"top":18,"kw":279,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":280,"url":9,"mix":281,"praise":73,"objection":89,"sub":21},17556805,-0.01,[24,25,26,27],"03051003100001303303350035",[31,32,33,31],1794036567890]