1
次のアクション拡張を使用して、Webページに画像のURLを取得できます。ただし、URLがPDFファイルの場合は、何も表示されません。プロパティリストはnilです。iOS Safari Action Extension kUTTypePropertyListがnil
var GetImage = function() {};
GetImage.prototype = {
imageURLs: function() {
var imgs = document.getElementsByTagName("img");
var imgSrcs = [];
for (var i = 0; i < imgs.length; i++) {
imgSrcs.push(imgs[i].src);
}
return imgSrcs;
},
run: function(arguments) {
arguments.completionFunction({
"currentUrl": document.URL,
"currentTitle": document.title,
"content": document.body.innerHTML,
"images": this.imageURLs(),
});
}
};
var ExtensionPreprocessingJS = new GetImage;
次に、実際のアクション内:
print("step a-1")
let item : NSExtensionItem = extensionContext!.inputItems[0] as! NSExtensionItem
let itemProvider : NSItemProvider = item.attachments?.first as! NSItemProvider
let propertyList = String(kUTTypePropertyList)
if itemProvider.hasItemConformingToTypeIdentifier(propertyList) {
print("step a-2")
itemProvider.loadItemForTypeIdentifier(propertyList, options: nil, completionHandler: { (item, error) -> Void in
if (item != nil) {
print("step a-3")
}
})
}
私は画像のURLを取得することができています
は、私は拡張のための次のjsファイルを持っています。ただし、ページがPDFファイルのURLである場合は、何も表示されません。プロパティリストはnilです。
私はjsなしで試してみると、私はpublic.urlを取得します。
しかし、JSで、プロパティリストはnilです...
すべてのヘルプは高く評価されます。 おかげ