ريان أشرف نشر 7 أبريل 2021 أرسل تقرير نشر 7 أبريل 2021 (معدل) لدي تطبيق اندرويد ويب فيو قمت بعمل زر مشاركة في التطبيقات html api لكن عند الضغط على الزر في التطبيق لا يعمل ويعمل على جميع المتصفحات إلا التطبيق أرجوا حل المشكلة تم التعديل في 8 أبريل 2021 بواسطة Wael Aljamal توضيح السؤال اقتباس
0 Wael Aljamal نشر 8 أبريل 2021 أرسل تقرير نشر 8 أبريل 2021 في حال كنت تستعملين: Navigator.share() فهو غير مدعوم من Android WebView ويمكنك التأكد من هنا: mozilla- API Navigator share لكن يمكن استعمال AndroidShareHandler: بتضمين الإعدادت التالية: mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setDomStorageEnabled(true); mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); mWebView.getSettings().setAppCacheEnabled(false); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setAllowContentAccess(true); mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); mWebView.addJavascriptInterface(new JavaScriptShareInterface(), "AndroidShareHandler"); ثم: //Java: package com.your.package; import android.webkit.JavascriptInterface; public class JavaScriptShareInterface { @JavascriptInterface public void share(String url) { // your share action } } . //JavaScript: shareButton.addEventListener('click', () => { window.AndroidShareHandler.share('https://stackoverflow.com'); }); وجدت بعض الشروط لتحقيق ذلك: التطبيق يجب أن يكون مخدم على HTTPS عليك مناداته تبعا لحدث من المستخدم للتأكد من دعم الميزة يمكنك استدعاء الشيفرة التالية: if (navigator.share !== undefined) { navigator.share({ title: <title of your shared data>, url : <link you want to share> }); .then(() => ...)) .catch((error) => ...)); __________________________ document.querySelector('.share-button').addEventListener('click', function() { if(navigator.share) { navigator.share({ title: 'mobiForge: Web Share API' text: 'Check out this great article about the Web Share API' url: 'https://mobiforge.com/design-development/web-share-api' }) .then(() => console.log('Share complete')) .error((error) => console.error('Could not share at this time', error)) } }); ____________________ if (navigator.canShare && navigator.canShare({ files: filesArray })) { navigator.share({ files: filesArray, title: 'Event Pictures', text: 'Checkout our Event Gallery', }) .then(() => console.log('Share was successful.')) .catch((error) => console.log('Sharing failed', error)); } else { console.log(`Your system doesn't support sharing files.`); } توثيق مفيد: web-share اقتباس
السؤال
ريان أشرف
لدي تطبيق اندرويد ويب فيو
قمت بعمل زر مشاركة في التطبيقات html api
لكن عند الضغط على الزر في التطبيق لا يعمل
ويعمل على جميع المتصفحات إلا التطبيق
أرجوا حل المشكلة
تم التعديل في بواسطة Wael Aljamalتوضيح السؤال
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.