كيف يمكن اسناد src لعنصر iframe من محتوى dataset معين ( javaScript )

السلام عليكم .

            myUrl = element.parentNode.dataset.source;

اين المشكلة المتغيرة ترجع undefined

رجاءً لا تطلب الكود كاملاً ... هل التعبير اعلاه صحيح ام يحتاج اضافات مثل value و....

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

المشكلة هي أن dataset.sourceربما لا تكون موجودة دائمًا، حيث أنّ dataset عبارة عن خاصية في JavaScript تسمح لك بالوصول إلى خصائص HTML مخصصة محددة باستخدام أسماء خصائص HTML مخصصة كمفاتيح.

لذا عليك التحقق من وجود خاصية source:

if (element.parentNode.dataset.source) {
  myUrl = element.parentNode.dataset.source;
} else {
  console.error("لا توجد خاصية `source` محددة في `dataset`");
}

أو الإعتماد على خاصية getAttribute للوصول إلى قيمة الخاصية المخصصة، مع التحقق من وجودها أولاً:

const sourceAttribute = element.parentNode.getAttribute("data-source");
if (sourceAttribute) {
  myUrl = sourceAttribute;
} else {
  console.error("لا توجد خاصية `source` محددة في `dataset`");
}

أيضًا لا تستخدم value مع dataset، فهي تستخدم مع عناصر نموذج HTML مثل <input> و <select>.

عامًة إليك مثالك امل:

<!DOCTYPE html>
<html lang="ar">
<head>
  <meta charset="UTF-8">
  <title>مثال تعيين src لعنصر iframe</title>
</head>
<body>
<div id="my-container" data-source="https://www.example.com">
    <iframe id="my-iframe"></iframe>
  </div>


  <script>
    const myContainer = document.getElementById('my-container');
    const myIframe = document.getElementById('my-iframe');


    if (myContainer.dataset.source) {
      myIframe.src = myContainer.dataset.source;
    } else {
      console.error('لا توجد خاصية `source` محددة في `dataset`');
    }
  </script>
</body>
</html>


عند مشاركة كود على الإنترنت أرجو منك نسخ الكود ولصقه بشكل نصي وليس صورة، بذلك تمكن الآخرين من مساعدتك وإختبار الكود بشكل سريع، ولا أرى في كود HTML لديك أي سمة باسم data-source أو data-type

  • هناك ادوات تستخرج الكود من الصور
main > columnOne > div.data...

طبعاً كلمة value اعتبرها محذوفة