Post

Replies

Boosts

Views

Activity

How to add a tableview to a safari app extension's popover window
I'm building a safari app extension with objective c. I'm using the default Xcode project. I've successfully added a NSView to the popover window. When I drag a NSTableView into the popover window, it appears in the XIB, but I can't find how to connect it to the SafariExtensionViewController. I tried adding a custom ViewController to the XIB and making the tableview its view which seems to be ok. How should I proceed from here, or is their another approach?
0
0
1k
Apr ’23
How does NSStackView effect NSTableView.bounds rowAtPoint and NSEvent.locationInWindow
I'm trying to get the row index of a NSTableRowView that has experienced a mouseEnter event. It should be easy with rowAtPoint using NSEvent.locationInWindow. I can't get it to work. The NSTableView lies inside a NSStackView. Of course the NSStackView adjusts the visual size of the NSTableView etc. Is NSStackView interfering? If so, how should I adjust my call to rowAtPoint?
0
0
830
Apr ’23
Safari App Extension: JavaScript script is responding to phantom messages
My Safari App Extension is having trouble with one website. This is typical for some other websites as well. Navigating to that website results in 6 “Load” events. For each such event I send a “safari.extension.dispatchMessage” to my objC code. For the first of these Load messages, my objC code sends a ‘sendMeIcons” message to “safari.self.addEventListener('message', function(event)”. The other 5 Load events are ignored by my objC code and do not send this message. safari.self.addEventListener('message', function(event) receives sendMeIcons JUST once. Yet, the event handler for this message) is invoked 4 times. The first invocation is correct. The other 3 are spurious. I have no idea why this is happening. Here is my objC code safari.self.addEventListener('message', function(event) { if (event.name === "Load My URL") { console.log('In event listener Load My URL'); ... return; } if (event.name === "sendMeIcons") { ... if (hrefs.length <1) //THIS IS ALWAYS TRUE FOR THIS TEST CASE. { safari.extension.dispatchMessage("js Found No Icons"); return; } else { ... safari.extension.dispatchMessage("IconsReturned",{"urls": arrayOfUrls}); return; } } I don't have a clue how to proceed. Any suggestions.
1
0
917
Mar ’24
How to add a tableview to a safari app extension's popover window
I'm building a safari app extension with objective c. I'm using the default Xcode project. I've successfully added a NSView to the popover window. When I drag a NSTableView into the popover window, it appears in the XIB, but I can't find how to connect it to the SafariExtensionViewController. I tried adding a custom ViewController to the XIB and making the tableview its view which seems to be ok. How should I proceed from here, or is their another approach?
Replies
0
Boosts
0
Views
1k
Activity
Apr ’23
How does NSStackView effect NSTableView.bounds rowAtPoint and NSEvent.locationInWindow
I'm trying to get the row index of a NSTableRowView that has experienced a mouseEnter event. It should be easy with rowAtPoint using NSEvent.locationInWindow. I can't get it to work. The NSTableView lies inside a NSStackView. Of course the NSStackView adjusts the visual size of the NSTableView etc. Is NSStackView interfering? If so, how should I adjust my call to rowAtPoint?
Replies
0
Boosts
0
Views
830
Activity
Apr ’23
Safari App Extension: How to be notified when Safari terminates
As far as I can determine, there is no way to save the data in my Safari App Extension when Safari terminates. It seems I have to save the data every time the page changes. That's wasteful. Does anyone know of a work around?
Replies
1
Boosts
0
Views
753
Activity
Feb ’24
Safari App Extension: JavaScript script is responding to phantom messages
My Safari App Extension is having trouble with one website. This is typical for some other websites as well. Navigating to that website results in 6 “Load” events. For each such event I send a “safari.extension.dispatchMessage” to my objC code. For the first of these Load messages, my objC code sends a ‘sendMeIcons” message to “safari.self.addEventListener('message', function(event)”. The other 5 Load events are ignored by my objC code and do not send this message. safari.self.addEventListener('message', function(event) receives sendMeIcons JUST once. Yet, the event handler for this message) is invoked 4 times. The first invocation is correct. The other 3 are spurious. I have no idea why this is happening. Here is my objC code safari.self.addEventListener('message', function(event) { if (event.name === "Load My URL") { console.log('In event listener Load My URL'); ... return; } if (event.name === "sendMeIcons") { ... if (hrefs.length <1) //THIS IS ALWAYS TRUE FOR THIS TEST CASE. { safari.extension.dispatchMessage("js Found No Icons"); return; } else { ... safari.extension.dispatchMessage("IconsReturned",{"urls": arrayOfUrls}); return; } } I don't have a clue how to proceed. Any suggestions.
Replies
1
Boosts
0
Views
917
Activity
Mar ’24