• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشکل javascript

sobhdam

Registered User
تاریخ عضویت
19 مارس 2009
نوشته‌ها
48
لایک‌ها
3
lمن موقعه ای که از کد زیر استفاده می کند درست کار میکنه
HTML:
<iframe height="30%" width="100%" src="http://localhost/1.php" name="rin"></iframe><br />
<a href="javascript:alerti()" target="rin">click</a>
محتوایی فایل 1.php هم اینه
HTML:
<script>
function alerti(){
    alert('hello');
}
</script>

ولی وقتی آدرس iframe رو به 127.0.0.1 و یا به یه ساب دامین تغییر میدهم ارور میده

HTML:
<iframe height="30%" width="100%" src="http://127.0.0.1/1.php" name="rin"></iframe><br />
<a href="javascript:alerti()" target="rin">click</a>
محتوایی فایل 1.php هم اینه
HTML:
<script>
function alerti(){
    alert('hello');
}
</script>
 

ODE112

کاربر قدیمی پرشین تولز
تاریخ عضویت
24 مارس 2006
نوشته‌ها
1,400
لایک‌ها
1,288
محل سکونت
aquarium
lمن موقعه ای که از کد زیر استفاده می کند درست کار میکنه
HTML:
<iframe height="30%" width="100%" src="http://localhost/1.php" name="rin"></iframe><br />
<a href="javascript:alerti()" target="rin">click</a>
محتوایی فایل 1.php هم اینه
HTML:
<script>
function alerti(){
    alert('hello');
}
</script>

ولی وقتی آدرس iframe رو به 127.0.0.1 و یا به یه ساب دامین تغییر میدهم ارور میده

HTML:
<iframe height="30%" width="100%" src="http://127.0.0.1/1.php" name="rin"></iframe><br />
<a href="javascript:alerti()" target="rin">click</a>
محتوایی فایل 1.php هم اینه
HTML:
<script>
function alerti(){
    alert('hello');
}
</script>
شما نمیتونی یه دستور جاوا اسکریپت رو از یه دامین به یه دامین دیگه اجرا کنی! مگه اینکه آدرس اون فریم و آدرس صفحه ای که توش هستی یکی باشه!

ینی اگه تو مرورگر تایپ میکنی http://localhost اونوقت آدرس اون فریم رو هم باید بذارید http://localhost

الان واسه تو اجرا نمیشه واسه اینکه آدرس فریم رو میذاری 127.0.0.1 و آدرسی که تو مرورگر تایپ میکنی localhost هست که یکسان نیستن!

Cross Domain نمیشه!

اگه فایل فریم روی دامین خدت هست اینطوری استفاده کن:

کد:
<iframe height="30%" width="100%" src="./1.php" name="rin"></iframe>
 
بالا