To find adaptations: meg droppedmodel meg @drop -------------- METHOD small JSmol in index.htm: dragDropCallback calls jmolDragDropCallback in enterurl.js announceDrop() changes echo in JSmol (enterurl.js) also does ~dropped = getProperty("fileContents") getDroppedFile() (enterurl.js) JSmol ~dropped -> Javascript droppedFileContents window.open("fg.htm?mol=droppedModel.pdb") New Window fg.htm makeJmolV1Script() scripts.js droppedModeltoJSmol() JAVASCRIPT: opener=index.htm: droppedModelContents = window.opener.droppedFileContents[N] opener=droppedModel (window.opener.document.location matches "droppedmodel"): droppedModelContents = window.opener.droppedModelContents; droppedFilename = window.opener.droppedFilename[N] ->JSMOL: '~droppedModelContents = "' + droppedModelContents + '"; scripts.js CONSTRUCT LOAD COMMAND if (useNoFormulPDB) load MODELS ({0}) "@~noFormulPDB"; else if (match(pdbURL, "droppedmodel")) load MODELS ({0}) "@~droppedModelContents"; else if (match(pdbURL, "consurfmodel")) load MODELS ({0}) "@~consurfModelContents"; load "@~droppedModelContents" In several places, match(pdbURL, "droppedmodel") is used to avoid pitfalls.