PDA

View Full Version : مشکل با بلاگفا



talent1
سه شنبه 24 تیر 1393, 11:25 صبح
میگم من هر کاری میکنم نمیشه نوشت های تکست رو به صفحه ارسال
پست جدید بلاگفا انتقال دارد .

باید چی کار کنم ؟ id , name هم داره ولی نمیشه :افسرده:

meys34
سه شنبه 24 تیر 1393, 18:09 عصر
تصویر زیر رو در نظر بگیرید:
http://barnamenevis.org/attachment.php?attachmentid=115903

"فریم داخل فریم" هست ولی مشکلی نیست...

به شماره ها دقت کنید:

1- Webbrowse هست یعنی همون document اصلی

2- فریمی هست با آیدی frameleft

3- فریمی هست داخل فریم قبلی بدون آیدی(id) و بدون آدرس (src="about:blank")

4- فریم ارسال ادامه مطلب مثل شماره 3 که زیرمجموعه (div id="trExtended") هست


نام اشیا در صفحه ارسال مطلب بلاگفا (http://barnamenevis.org/showthread.php?437624-%D9%86%D8%A7%D9%85-%D8%A7%D8%B4%DB%8C%D8%A7-%D8%AF%D8%B1-%D8%B5%D9%81%D8%AD%D9%87-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%85%D8%B7%D9%84%D8%A8-%D8%A8%D9%84%D8%A7%DA%AF%D9%81%D8%A7&p=1961813&viewfull=1#post1961813)


ببخشید کد هاش رو یادم نیست امیدوارم خودتون تکمیلش کنید...

talent1
چهارشنبه 25 تیر 1393, 09:36 صبح
ممنون که جواب دادید .
ولی میشه بیشتر توضیح بدید نگرفتم ؟ یا مثلا یه مثال از کدی که باید بنویسم برام بزنید .

meys34
پنج شنبه 26 تیر 1393, 16:03 عصر
سلام


WebBrowser1.Document.getElementById("frameleft").contentDocument.getElementById("_txtContent_editor").contentDocument.documentElement.innerHTML = Text1.Text


با توجه به عکس بالا:

شماره یک (Document اصلی) میشه :    WebBrowser1.Document

شماره دو (فریمی با ایدی frameleft) میشه : .getElementById("frameleft").contentDocument

شماره سه میشه :            .getElementBy Id("_txtContent_editor").contentDocument

نکته:

چون نسخه WebBrowser ای که وی بی استفاده میکنه قدیمیه سایت بلاگفا یکم تغییرات توی کد های سایتش میده تا بهتر نمایش داده بشه و اون چیزی که ما میبینیم با اون چیزی که مثلا توی firefox میبینیم اندکی تفاوت داره....
به همین خاطر شماره سه، آیدی داره به اسم "_txtContent_editor"


آموزشی:
Iframe یا همون فریم صفحات جداگانه ای هستند که توی صفحه اصلی لود میشن
و دسترسی به اون صفحات با دستور contentDocument امکان پذیر هست...
نکته اش اینجاست که getElementById اشیا رو تو صفحه اصلی سرچ میکنه نه توی فریم...

talent1
جمعه 27 تیر 1393, 17:05 عصر
میگم من این رو امتحان کردم بازم جواب نداد
کار خاصی میخواد انجام بدم ؟

meys34
شنبه 28 تیر 1393, 14:49 عصر
اروری چیزی میده؟

خودم امتحان کردم جواب داد بعد برای شما ارسال کردم...

احتمالا مشکل از ادیتور سایتمونه...

چون اگه دقت کنید تو پست بالایی بین حروف c و o تو عبارت contentDocumetn فاصله انداخته ولی تو این پایینیه درسته...
تو پست قبلی هرچی تلاش کردم فاصله نندازه، نشد... الان مشکلش رو فهمیدم... بعد از پرانتز باید یه فاصله بدی تا درست شه...
البته شاید هم با Opera مشکل داشت اینجوری میشد...


WebBrowser1.Document.getElementById( "frameleft" ).contentDocument.getElementById( "_txtContent_editor" ).contentDocument.documentElement.innerHTML = Text1.Text

talent1
شنبه 28 تیر 1393, 15:38 عصر
:ناراحت: داداش بازم نشد فکر کنم از سیستم من باشه .

اگه میشه یه کاری کن سورس رو بزام پیوست کن با اگزش شاید مشکل از سیستم من باشه

ولی به این عکسم نگاه کن ببین شاید جایی رو اشتباه رفتم .
من اول وارد اکانتم تو بلاگفا میشم بعد روی ارسال پست جدید میزنم بعد کد رو تست میکنم ولی نمیشه .

121280

meys34
شنبه 28 تیر 1393, 19:05 عصر
همه کار رو درست انجام دادین بجز این On Error Resume Next...
به همین خاطر اخطاری رو مشاهده نمیکردید که ببینید مشکل از کجاست...


در ضمن با توجه به عکس فکر میکنم مشکل از یه جای دیگه است...

121291

شما اول سعی کنید دستی توی برنامه یه پستی ارسال کنید ببینیم میشه یا نه...

talent1
یک شنبه 29 تیر 1393, 09:57 صبح
بازم نشد on error هم برداشتم ارور خاصی نمیداد میگفت text1.text="text1" همین
دیگه دارم بیخیالش میشم :ناراحت:

meys34
یک شنبه 29 تیر 1393, 12:52 عصر
With WebBrowser1.Document.getElementById( "frameleft" ).contentDocument
On Error Resume Next
If .getElementById( "frmPost" ) Then
.getElementById( "txtContent" ).innertext = "meysam"
MsgBox "Okay"
Else
MsgBox "Is Not Loaded"
End If
On Error GoTo 0
End With


ارور خاصی نمیداد میگفت text1.text="text1" همین
???????

talent1
یک شنبه 29 تیر 1393, 13:26 عصر
بازم نشد !!!

121322

کد قبلیم باز تست کردم ارور اصلیش این بود .

121323

meys34
یک شنبه 29 تیر 1393, 15:41 عصر
ببخشید یادم رفت بگم چون txtContent هیدن هست دیده نمیشه ولی اگر ارسال رو بزنید ارسال میکنه تست کردم...



ارور هم مربوط به آماده نبودن WebBrowser هست احتمالا احتمالا احتمالا...
برای ارور هم این رو امتحان کنید:
Private Sub Command1_Click()
If WebBrowser1.ReadyState <> READYSTATE_COMPLETE Then Exit Sub
WebBrowser1.Document.getElementById( "frameleft" ).contentDocument.getElementById( "_txtContent_editor" ).contentDocument.documentElement.innerhtml = Text1.Text
End Sub


و اگر با هیدن بودن مشکل دارید خروجی متن زیر رو آپلود کنید یه نگاهی بیندازم...
Debug.Print WebBrowser1.Document.getElementById( "frameleft" ).contentDocument.documentElement.Outerhtml

talent1
یک شنبه 29 تیر 1393, 16:44 عصر
121333

باز هم ارور.
اقا بیخیالش شدم شما هم ولش کن .

meys34
شنبه 10 مهر 1395, 21:29 عصر
121333

باز هم ارور.
اقا بیخیالش شدم شما هم ولش کن .

مشکل مشابه و راه حل برای کسایی که سرچ کردن( میدونم از تاریخ تاپیک خیلی گذشته)

http://barnamenevis.org/showthread.php?522397-%D9%BE%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-iframe-%D8%AF%D8%B1-webbrowser&p=2316917&viewfull=1#post2316917