The main difference between the two pages is the method of sending messages. Recieving messages is the same in both.
Send messages to iframe using iframeEl.contentWindow.postMessage
Recieve messages using window.addEventListener('message')
| var sketch = context.api() | |
| var document = sketch.selectedDocument; | |
| var selection = document.selectedLayers; | |
| var command = context.command; | |
| var selectedLayer = context.document.selectedLayers().firstLayer() | |
| command.setValue_forKey_onLayer_forPluginIdentifier('chips!', |
| <html> | |
| <head> | |
| <body onload="onLoad()"> | |
| <div id="container"> | |
| <div id="show-background">Show background as magenta<input id="show-background-toggle" type="checkbox" checked></div> | |
| <canvas id="canvas" width=640px height=480px></canvas> | |
| </div> | |
| </body> | |
| </head> | |
| <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.13.2"> </script> |
| const sketch = require('sketch') | |
| var doc = sketch.getSelectedDocument() | |
| var selection = doc.selectedLayers | |
| if (selection.length == 0) { | |
| sketch.UI.showMessage("Please select something."); | |
| } else { | |
| selection.forEach(layer => { | |
| if (layer.type == 'Text') { | |
| var fontStyle = layer.style.fontFamily |
| let sketch = require('sketch') | |
| var document = sketch.getSelectedDocument() | |
| var selectedLayers = document.selectedLayers.layers | |
| let text = selectedLayers[0] | |
| console.log(text) |
| let sketch = require('sketch') | |
| let doc = sketch.getSelectedDocument() | |
| let selectedLayersObject = doc.selectedLayers | |
| let selectedLayersArray = selectedLayersObject.layers | |
| selectedLayersArray.forEach(layer => { | |
| console.log(layer.overrides[0].value = 'aaaaaaaaabbb') | |
| // layer.layers.forEach(layer => { | |
| // //console.log(layer) | |
| // if(layer.type == "Text") { |
| let sketch = require('sketch') | |
| let doc = sketch.getSelectedDocument() | |
| let selectedLayersObject = doc.selectedLayers | |
| let selectedLayersArray = selectedLayersObject.layers | |
| selectedLayersArray.forEach(layer => { | |
| //console.log(layer.layers) | |
| layer.layers.forEach(layer => { | |
| //console.log(layer) | |
| if(layer.type == "Text") { |
| console.log('This is an example Sketch script.') | |
| var sketch = require('sketch') | |
| var document = sketch.getSelectedDocument() | |
| var selectedLayers = document.selectedLayers | |
| var selectedCount = selectedLayers.length | |
| if (selectedCount === 0) { |
| let dialog = NSAlert.alloc().init() | |
| let view = NSView.alloc().initWithFrame(NSMakeRect(0,0,100,100)) | |
| let button = MSColorWell.alloc().initWithFrame(NSMakeRect(0,0,50,50)) | |
| button.initialColor = NSColor.redColor() | |
| button.target = button | |
| button.canDisplayPopover = true | |
| button.setAction("presentColorPicker:") | |
| view.addSubview(button) | |
| dialog.accessoryView = view |
| {"sig":"c16accedf539f29e57483831302a2b03d35d6e409d935a35d0bdb967118501af8fd3c98fd761fc5fdadf9074b926d307262a30ce9783e9d8f700a53dcf7308900","msghash":"80ca88f40a0ee11860a7df45467021de7214b07a2e5560689b546fa5bddb0564"} |