פתיחת קובץ מקומי דרך JS ב-HTML
-
@חנון-המרבה כתב בפתיחת קובץ מקומי דרך JS ב-HTML:
ולגבי התשובה שלך, אין לי קובץ אקסל פתוח, אני רוצה לפתוח קובץ קיים מחדש.
אם זה צריך לרוץ בעמדה מקומית (כלומר אתה כותב את זה עבור מחשב בודד), תתקין שם שפת שרת כלשהי, למשל nodejs, ותכתוב סרבר קטן שמקבל בקשה מהדף שלך וכותב אותה לקובץ חדש.
תוכל לעשות שהוא יופעל בעליית המחשב, וגם שיהיה ניתן לפתוח אותו בעזרת קישור (שהוא ישרת את הקובץ HTML ולא קובץ מקומי) אם תרצה. -
@5566brs כתב בפתיחת קובץ מקומי דרך JS ב-HTML:
וכותב אותה לקובץ חדש.
אתה כותב לו הרבה פתרונות כאשר אין לך בכלל מושג מה הוא רוצה לעשות עם הקובץ הוא כתב שהוא רק רוצה לפתוח,
ולכן שאלתי אותו מה המטרה שנוכל לענות לו.. -
@ivrtikshoret כתב בפתיחת קובץ מקומי דרך JS ב-HTML:
אתה כותב לו הרבה פתרונות כאשר אין לך בכלל מושג מה הוא רוצה לעשות עם הקובץ הוא כתב שהוא רק רוצה לפתוח,
ולכן שאלתי אותו מה המטרה שנוכל לענות לו..הייתי במקום שלו, לא זוכר מתי ולמה. זה תהליך שעוברים אנשים..
חושב שכככל שידע מהר יותר מה רעיון מעשי ומה לא, יהיה לו יותר קל "להיפרד" מהרעיון "שלו" ולחשוב טוב על הפתרון שהכי טוב לו מבין הפתרונות האפשריים (הרבים) הקיימים. -
יש את File System API שמאפשר לתת לאתר גישה זמנית לתקיה (כמובן על ידי המשתמש, נפתח בורר תקיות), ואז אפשר מהJS לערוך את הקבצים ישר בדיסק. אתר שאני מכיר שמממש את זה טוב זה https://vscode.dev.
-
@צדיק-תמים כתב בפתיחת קובץ מקומי דרך JS ב-HTML:
יש את File System API שמאפשר לתת לאתר גישה זמנית לתקיה (כמובן על ידי המשתמש, נפתח בורר תקיות), ואז אפשר מהJS לערוך את הקבצים ישר בדיסק. אתר שאני מכיר שמממש את זה טוב זה https://vscode.dev.
הוא לא כתב שהוא רוצה לערוך הוא כתב לפתוח את הקובץ...
-
@ivrtikshoret הצדק עמך, אבל תבין שעבור מתכנת לגשת לתוכן הקובץ זה נקרא בדיוק לפתוח אותו.
@חנון-המרבה הדפדפן לא יעשה שום פעולה במחשב שמשפיעה על משהו (מלבד הדפדפן עצמו) בגלל קוד JS.
הגבלות האבטחה על קובץ מקומי הם לא פחותות.
אתה צריך לנסות כיוון אחר לגמרי, יש עוד סביבות תכנות מלבד JS בדפדפן, תכתוב מה אתה צריך (בתמונה הכוללת ולא רק בפרט הנוכחי) ואמליץ/ימליצו לך על הדבר הכי מתאים. -
@dovid יש לי טבלת נתונים בHTML שאופן עריכת הנתונים בצורה הכי קלה בשבילי ובשביל המשתמשים הוא ע"י קובץ אקסל ובאקסל אני מייצא (ע"י מאקרו) קובץ בתבנית אובייקט מערך שהוא בעצם ה-src של הHTML .
הייתי רוצה שיש כפתור בדף הHTML שזה פשוט יפתח את הקובץ אקסל העורך. -
@חנון-המרבה כתב בפתיחת קובץ מקומי דרך JS ב-HTML:
@dovid אני יכול לשלוח לך את הקובץ HTML ותראה אם אקסל יודע לעשות את זה.
מציע לפתוח נושא חדש של איך לעשות x באקסל.
-
קיבלתי את ההודעה.
ראשית כל, כן. אקסל יכול לעשות זאת (מדובר בHTML שמכיל תיבת חיפוש שמסננת שורות בעת ההקלדה בה, + מספרי טלפון לחיצים שמפעילים פרוטוקול tel:).
שנית, בהחלט יכול להיות שלפתח את זה בHTML זה הרבה יותר נחמד (גם אני חושב ככה)
אבל תהיה חייב לפתח בנוד או תוכנה אחרת שעובדת מחוץ לדפדפן, בשביל לפתוח אקסל או אפילו לערוך ישירות מהHTML.
הHTML יכול לתקשר עם התוכנה הזאת.
האם אקסל כבר יותר פשוט? לא יודע. -
@חנון-המרבה
אולי אתה פשוט מחפש את זה.
זה עובד, אני לא הצלחתי למצוא דרך שהכתובת תהיה יחסית.
זה גם מציג הודעה בפעם הראשונה (ואז אפשר לסמן שלא יציג בפעם הבאה). -
@5566brs תודה רבה.
זה עובד רק על נתיב בלי אותיות עברית.
השאלה אם יש לזה פתרון.ולגבי הכתובת היחסי - בניתי כבר פונקציה לזה (שגם ממיר את הכתובת לעברית, אבל כרגע כשאין לי עדיין פתרון לעברית כנ"ל, כל ההמרה לא רלוונטית בנתיים, ואתה יכול לגשת לשתי שורות התחתונות מיד):
function phatSrc() { let phat = window.location.href phat = phat.replace(RegExp("%D7%90", "g"), "א"); phat = phat.replace(RegExp("%D7%91", "g"), "ב"); phat = phat.replace(RegExp("%D7%92", "g"), "ג"); phat = phat.replace(RegExp("%D7%93", "g"), "ד"); phat = phat.replace(RegExp("%D7%94", "g"), "ה"); phat = phat.replace(RegExp("%D7%95", "g"), "ו"); phat = phat.replace(RegExp("%D7%96", "g"), "ז"); phat = phat.replace(RegExp("%D7%97", "g"), "ח"); phat = phat.replace(RegExp("%D7%98", "g"), "ט"); phat = phat.replace(RegExp("%D7%99", "g"), "י"); phat = phat.replace(RegExp("%D7%9B", "g"), "כ"); phat = phat.replace(RegExp("%D7%9A", "g"), "ך"); phat = phat.replace(RegExp("%D7%9C", "g"), "ל"); phat = phat.replace(RegExp("%D7%9D", "g"), "ם"); phat = phat.replace(RegExp("%D7%9E", "g"), "מ"); phat = phat.replace(RegExp("%D7%9F", "g"), "ן"); phat = phat.replace(RegExp("%D7%A0", "g"), "נ"); phat = phat.replace(RegExp("%D7%A1", "g"), "ס"); phat = phat.replace(RegExp("%D7%A2", "g"), "ע"); phat = phat.replace(RegExp("%D7%A3", "g"), "ף"); phat = phat.replace(RegExp("%D7%A4", "g"), "פ"); phat = phat.replace(RegExp("%D7%A5", "g"), "ץ"); phat = phat.replace(RegExp("%D7%A6", "g"), "צ"); phat = phat.replace(RegExp("%D7%A7", "g"), "ק"); phat = phat.replace(RegExp("%D7%A8", "g"), "ר"); phat = phat.replace(RegExp("%D7%A9", "g"), "ש"); phat = phat.replace(RegExp("%D7%AA", "g"), "ת"); phat = phat.replace(RegExp("%20", "g"), " "); phat = phat.replace(RegExp("/", "g"), "\\"); phat = phat.substring(8, phat.lastIndexOf('\\')); }
-
@חנון-המרבה
הקוד הבא אמור לתת לך את אותה תוצאה:function phatSrc() { let phat = window.location.href; phat = decodeURIComponent(phat); phat = phat.replace(RegExp("/", "g"), "\\"); phat = phat.substring(8, phat.lastIndexOf('\\')); }