1
當用戶使用JavaScript文件在iOS上打開共享擴展時,我想訪問網頁屬性(標題,元描述,URL,默認圖像等)。我使用的JavaScript(https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW12)下面的代碼:訪問共享擴展中的網頁屬性
var MyExtensionJavaScriptClass = function() {};
MyExtensionJavaScriptClass.prototype = {
run: function(arguments) {
// Pass the baseURI of the webpage to the extension.
arguments.completionFunction({"url": document.baseURI});
arguments.completionFunction({"host": getHost()});
arguments.completionFunction({"title": document.title});
arguments.completionFunction({"description": getDescription()});
arguments.completionFunction({"image": getImage()});
},
getHost: function() {
var l = document.createElement("a");
l.href = href;
return l.hostname;
},
getDescription: function() {
var metas = document.getElementsByTagName('meta');
for (i=0; i<metas.length; i++) {
if (metas[i].getAttribute("property") == "description") {
return metas[i].getAttribute("content");
}
}
return "";
},
getImage: function() {
// Need to find this out
return "";
},
// Note that the finalize function is only available in iOS.
finalize: function(arguments) {
// arguments contains the value the extension provides in [NSExtensionContext completeRequestReturningItems:completion:].
// In this example, the extension provides a color as a returning item.
document.body.style.backgroundColor = arguments["bgColor"];
}
};
// The JavaScript file must contain a global object named "ExtensionPreprocessingJS".
var ExtensionPreprocessingJS = new MyExtensionJavaScriptClass;
這是訪問的網頁特性也什麼是在內容獲取第一圖像的最佳方法的正確途徑。
任何幫助將不勝感激。
你的JS是不是對圖像加工.. –
我的意思是METAS [I] .getAttribute( 「名」)==「OG :圖像「不是返回圖像。 –
@AsadullahAli該條件的目的是檢查URL中是否包含開放圖形標籤或sailthru或twitter卡。如果標籤存在,則獲取圖像。此代碼可能需要根據您正在測試的URL進行一些更新。你能分享你正在測試的網址嗎? – Puru