הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 05-10-07, 08:48   # 1
Ben Segal
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2007
הודעות: 195

Ben Segal לא מחובר  

[בעיה]פתיחת קישורים בחלון חדש

שלום,
נתקלתי בבעייה ממש מוזרה ברגע זה אני כרגע ניסיתי לעבוד עם קידוד- DOCTYPE strict
ושאני עושה לינק לפתיחת חלון חדש כך:
HTML קוד:
<a href="http://www.wibesite.co.il" target="_blank">wibesite</a>
מילת ה- target_blank לא נחשבת תקנית ממש מוזר הצלחתי לתקן זאת על ידי- JS כך:
HTML קוד:
<a href="#" onclick="window.open('http://www.wibesite.co.il')">wibesite</a>
ולא נראה לי הגיוני שבשביל קישור חדש אצטרך לכתוב מחדש כל פעם מחדש- onclick :|
אז רציתי לשאול האם יש דרך אחרת?

תודה מראש.
__________________

Last edited by Ben Segal; 05-10-07 at 08:51..
  Reply With Quote
ישן 05-10-07, 11:05   # 2
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 34
הודעות: 2,050

daMn לא מחובר  

מצאתי לך פונקציה שתעשה את העבודה:
http://loadaveragezero.com/app/s9y/i...get_blank.html
אם לא הבנת אני יסביר:
מה שבעצם הפונקציה הזאת עושה, היא עוברת על כל המסמך ובודקת איפה יש rel="external"
ומחליפה אותו ב "_blank" ככה שהמסמך יעבור את בדיקת xhtml.
במקום לכתוב target פשוט תכתוב
PHP קוד:
rel="external" 
הנה דוגמא למה שאני השתמשתי פעם, זאת פונקציה אחרת שעובדת אבל אני מאמין שגם מה שנתתי למעלה בסדר.
PHP קוד:
<body>
<
script language="javascript">
 function 
TargetBlankLinks() {
     if (!
document.getElementsByTagName) return;
     var 
document.getElementsByTagName("a");
     for (var 
i=0i<a.lengthi++) {
          if (
a[i].getAttribute("href") &&
          
a[i].getAttribute("rel") == "blankWin")
               
a[i].target "_blank";
     }
}  
</script>

<a href="http://www.fresh.co.il" rel="blankWin">sss</a>
<script>TargetBlankLinks()</script>
</body> 
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)

Last edited by daMn; 05-10-07 at 11:16..
  Reply With Quote
ישן 05-10-07, 19:10   # 3
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

ולמה כל פעם בקישור חדש אני צריך לעשות:
HTML קוד:
<a href="http://web" rel="external">wibe</a>
ומתחת לזה אני צריך להוסיף גם:
HTML קוד:
<script>TargetBlankLinks()</script>
לפי מה שאני הבנתי ב- סקריפט מספיק שאני רושם "rel="external וזהו.

(דרך אגב איזה- DOCTYPE קשה.)

Last edited by Shon12; 05-10-07 at 19:19..
  Reply With Quote
ישן 05-10-07, 19:26   # 4
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

ציטוט:
נכתב במקור על ידי daMn צפה בהודעה
מצאתי לך פונקציה שתעשה את העבודה:
http://loadaveragezero.com/app/s9y/i...get_blank.html
אם לא הבנת אני יסביר:
מה שבעצם הפונקציה הזאת עושה, היא עוברת על כל המסמך ובודקת איפה יש rel="external"
ומחליפה אותו ב "_blank" ככה שהמסמך יעבור את בדיקת xhtml.
במקום לכתוב target פשוט תכתוב
PHP קוד:
rel="external" 
הנה דוגמא למה שאני השתמשתי פעם, זאת פונקציה אחרת שעובדת אבל אני מאמין שגם מה שנתתי למעלה בסדר.
PHP קוד:
<body>
<
script language="javascript">
 function 
TargetBlankLinks() {
     if (!
document.getElementsByTagName) return;
     var 
document.getElementsByTagName("a");
     for (var 
i=0i<a.lengthi++) {
          if (
a[i].getAttribute("href") &&
          
a[i].getAttribute("rel") == "blankWin")
               
a[i].target "_blank";
     }
}  
</script>

<a href="http://www.fresh.co.il" rel="blankWin">sss</a>
<script>TargetBlankLinks()</script>
</body> 
חוץ מזה שלא תוכל לכתוב rel=nofolow,
זה גם JS-זה תופס עוד משאבים, לא יעבוד בדפדפנים שלא תומכים ורוב הסיכויים גם בסלולארים,
זה עדיין לא תקני! זה כמו שתעשה ב-PHP,
error_reporting(0);
זה לא אומר שאין בעיות בדף!
  Reply With Quote
ישן 05-10-07, 19:53   # 5
Shon12
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 354

Shon12 לא מחובר  

לפי השיחה פה אני מבין שהדרך היחידה פה היא:
HTML קוד:
onclick="window.open('')"
האם זאת הדרך היחידה?
  Reply With Quote
ישן 05-10-07, 20:13   # 6
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

הדרך התקנית באמת היחידה? כן.

אבל עם קצת ליטושים, אפשר משהו נחמד, אני עוד כמה דקות אערוך ואציג.
PHP קוד:
<body>
<
script language="javascript">
 function 
TargetBlankLinks() {
     if (!
document.getElementsByTagName) return;
     var 
document.getElementsByTagName("a");
     for (var 
i=0i<a.lengthi++) {
          if (
a[i].getAttribute("href") &&
          
a[i].getAttribute("class") == "blankWin")
               
a[i].onclick "window.open('" a[i].href +"');";
     }
}  
</script>

<a href="http://www.hosts.co.il" class="blankWin">sss</a>
<script>TargetBlankLinks()</script>
</body> 
זה אמור לעבוד, אך כדאי לבדוק תאימות בין דפדפנים שונים

Last edited by Daniel; 05-10-07 at 20:16..
  Reply With Quote
ישן 05-10-07, 20:13   # 7
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 34
הודעות: 2,050

daMn לא מחובר  

ציטוט:
נכתב במקור על ידי MasterT צפה בהודעה
חוץ מזה שלא תוכל לכתוב rel=nofolow,
זה גם JS-זה תופס עוד משאבים, לא יעבוד בדפדפנים שלא תומכים ורוב הסיכויים גם בסלולארים,
זה עדיין לא תקני! זה כמו שתעשה ב-PHP,
error_reporting(0);
זה לא אומר שאין בעיות בדף!
אתה מוזמן לבדוק אם זה תיקני או לא.
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)
  Reply With Quote
ישן 05-10-07, 20:17   # 8
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

יופי, כי הבודק לא מספיק חכם.
אתה יכול לעשות גם,
document.write(unsescape(CODE));

במקום ה-CODE, לכתוב את ה-escape של <br>.
והוא יגיד לך שזה תקני.

זה עדיין לא תקני! זה כמו שתעשה ב-PHP,
error_reporting(0);
זה לא אומר שאין בעיות בדף!
בעצם זה עוד יותר גרוע, כי זה פשוט לא תקני.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 07:05.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ