J'ai un AppleScript que je suis essayant de convertir en JXA.
OBJECTIF: Obtenir la source HTML de la page WebComment j'utilise Objective-C (ObjC) avec JavaScript for Automation (JXA) pour obtenir le HTML de la page Web
Le AppleScript fonctionne très bien, mais le script JXA échoue avec cette erreur:
"TypeError: objet n'est pas une fonction"
Je cours Script Éditeur 2.8.1 (183.1) sur macOS 10.11.6.
J'ai étudié cette ref (et d'autres), mais il ne me aide pas: initWithData:encoding:
Toute aide/suggestions/références seront grandement appréciés.
Voici mes scripts:
//---- PURPOSE: GET HTML of Web Page ----
/*
---- AppleScript VERSION ----
-- (runs fine in Script Editor with AppleScript as Language)
use framework "Foundation"
use scripting additions
set urlStr to "https://stackoverflow.com/"
set theURL to current application's class "NSURL"'s URLWithString:urlStr
set theData to current application's NSData's dataWithContentsOfURL:theURL
set theString to current application's NSString's alloc()'s initWithData:theData encoding:(current application's NSUTF8StringEncoding)
set theString to theString as text
*/
//--- JXA VERSION ---
var urlStr = "https://stackoverflow.com/";
var theURL = $.NSURL.URLWithString(urlStr);
var theData = $.NSData.dataWithContentsOfURL(theURL);
//-- NEXT statement FAILS WITH ERROR: "TypeError: Object is not a function"
//--- AppleScript Code I'm trying to Convert ---
//current application's NSString's alloc()'s initWithData:theData encoding:(current application's NSUTF8StringEncoding)
var theString = $.NSString.alloc().initWithData(theData,
encoding($.NSUTF8StringEncoding)
);
var theString = ObjC.unwrap(theString);
Pour ceux qui downvoted la question: Si vous voulez vraiment être utile, après un commentaire indiquant pourquoi vous avez refusé et comment vous pourriez l'améliorer. – JMichaelTX