-->

كيفية حل مشكلة Error: Permission denied to access property x في الجافاسكربت

ما هو Permission denied  وسبب ظهوره


يحظر السكربت الذي تقوم بصنعه في حالة انك تريد ان تعالج بيانات من دومين اخر عن طريق iframe tag او من خلال اي object اخر وهذه العملية تسمي ب cross-origin object وبالطبع مثل جوجل او ويكيبيديا لا يمكنك ان تقوم بعمل استخراج بينات البحث عن طريق فتح علامة تبويب اخري عن طريق popup  ولا يمكنك ان تستخدم هذه الفكرة حتي لو كنت بتستخدم جوجل او ويكيبيديا في صفحتك علي اساس iframe. 

Error Permission denied to access property x new system technology
Error Permission denied to access property x 

كيفية معالجة الخطأ واستمرار البرنامج


سوف اعرض عليكم كود يوضح كيف تستخدم السكربت الخاص بك بدون توقف حتي ولو تم حظر ذحفك علي الموقع الاخر يستمر في وظائفه بشكل طبيعي .


<iframe id="myframe" src="https://en.wikipedia.org"></iframe>
<script>
try {
    console.log(document.getElementById("myframe").document);
    // OR
    console.log(frames[0].document); 
} catch (e) {
    if (e.message.toLowerCase().indexOf('permission denied') == 0) {
        printError(e, true);
    } else {
        printError(e, false);
    }
}
</script>