javascript - لديك - مشاريع جافا سكريبت




كيف يمكنني استبدال إفريم مع ديف وجافا سكريبت بالضبط؟ (4)

  1. استخدم مكونا مسجدا لتغيير حجم إفريم ديناميكيا.

  2. لا يمكنك تصفيف المحتوى داخل إفريم. ماذا تخطط لاستخدام إفريم؟ هناك في كثير من الأحيان طرق أفضل لحل الأمور.

لدي صفحة تحمل صفحة هتمل خارجية في إفريم. هناك مشكلتان أواجههما:

  1. و إفريم دائما ارتفاع ثابت، ولكن أريد أن توسيع عموديا اعتمادا على ارتفاع المحتوى.
  2. لا يمكن للمحتوى داخل إفريم أن يرث أنماط كس المرفقة بصفحة هتمل التي تحتوي عليه. يجب أن يحتوي هتمل داخل إفريم على رابط خاص به أو ورقة أنماط منفصلة.

يمكن أن أكون مخطئا حول أي من تلك النقاط، لذلك إذا أنا، واسمحوا لي أن أعرف وبعد ذلك سوف تستمر في استخدام إفريم.

وإلا، هل هناك مكالمة جافاسكريبت بسيطة يمكن تحميل ملف هتمل خارجي إلى ديف ؟

فقط أن تكون واضحة، لأنه يبدو أن بعض الناس قد أسيء فهم لي:

أنا أسأل كيفية استبدال إفريم مع ديف وجافا سكريبت من أجل الحصول على وظيفة أذكر أعلاه. أنا لا أبحث عن طرق لجعل إفرامس تتصرف بشكل مختلف.

(اعتقدت أن هذا سيكون شائعا إلى حد ما، ولكن معظم الأسئلة والمعلومات التي وجدت في هذا الموقع وعلى شبكة الإنترنت يبدو أن حالة محددة ويطلب وظائف إضافية التي لا أحتاج إليها ويعقد المشكلة.ومع ذلك، إذا كنت قد غاب عن شيء وهذا هو نسخة مكررة، وأنا لن يكون بالإهانة إذا تم إغلاق هذا.)


يمكنك إجراء مكالمة أجاكس لجلب صفحة هتمل وإضافتها إلى ديف. على سبيل المثال باستخدام جكري:

$.get('yourPage.html', function(data) { $('#yourDiv').html(data); });

اقرأ المزيد على: http://api.jquery.com/jQuery.get/


كتبت في الواقع جوابا على سؤال مختلف، يبدو أن ينطبق هنا: https://.com/a/10012302/166661

كنت قد حصلت على الخادم الذي سيعود لك المعلومات - يمكنك وضع هذه المعلومات في IFRAME ... أو يمكنك استدعاء وظيفة جافا سكريبت لاسترداد تلك المعلومات وعرضها في موقع ( DIV ) التي وضعت جانبا على الخاص بك الصفحة.

في ما يلي صفحة هتمل نموذجية ستسترد معلومات من الخادم باستخدام أجاكس

<html>
<head>
<script type="text/javascript">
function getAreaInfo(id)
{
  var infoBox = document.getElementById("infoBox");
  if (infoBox == null) return true;
  var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function() {
    if (xhr.readyState != 4) return;
    if (xhr.status != 200) alert(xhr.status);
    infoBox.innerHTML = xhr.responseText;
  };
  xhr.open("GET", "info.php?id=" + id, true);
  xhr.send(null);
  return false;
}
</script>
<style type="text/css">
#infoBox {
  border:1px solid #777;
  height: 400px;
  width: 400px;
}
</style>
</head>
<body onload="">
<p>AJAX Test</p>
<p>Click a link...
<a href="info.php?id=1" onclick="return getAreaInfo(1);">Area One</a>
<a href="info.php?id=2" onclick="return getAreaInfo(2);">Area Two</a>
<a href="info.php?id=3" onclick="return getAreaInfo(3);">Area Three</a>
</p>
<p>Here is where the information will go.</p>
<div id="infoBox">&nbsp;</div>
</body>
</html>

وهنا هو info.php الذي يعود المعلومات مرة أخرى إلى صفحة هتمل:

<?php
$id = $_GET["id"];
echo "You asked for information about area #{$id}. A real application would look something up in a database and format that information using XML or JSON.";
?>

أتمنى أن يساعدك هذا!






html