webForumDet fria alternativet

Funktion i .js fil göra så att man kan hämta det med ASP.NET

.NET

18 svar · 428 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Tja

Kan man med ASP.NET kompilera en .js fil och sedan anroppa den på en sida med ASP?

Jag vet inte riktigt vad jag pratar om egentligen men har sätt att det ska gå på något sätt.

Nån som har lust och hjälpa mig lite

Medlem sedan apr. 2004778 inlägg
#2

.js filer kompileras inte, du använder den i en script-tagg.

 <script language="javascript" src="minfil.js"></script>

Eller pratar du om något helt annat?

Medlem sedan jan. 20013 406 inlägg
#3

InnovaStudio är ett publiceringsverktyg som är skrivet i javascript i huvuvdsak men det medföljer kod för hur man infogar det med aspx dessutom är det vb, dll och en resx fil.

man anropar editorn med denna kod:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="Editor.WebForm1" %>
<%@ Register TagPrefix="editor" Assembly="WYSIWYGEditor" namespace="InnovaStudio" %>

<editor:wysiwygeditor Runat="server" scriptPath="../scripts/" assetManager="../assetmanager/assetmanager.asp" Content="" ID="oEdit1" />
Medlem sedan apr. 2004778 inlägg
#4

Men det borde väl finnas med några .js filer som i det här fallet ligger i scripts mappen?
Det wysiwygeditor klassen gör är att den genererar koden för själva editorn. Eftersom du sätter scriptPath så inkluderar den .js filerna från den mappen. Kolla sourcekoden på sidan efter att den skapats så får du se.

Medlem sedan jan. 20013 406 inlägg
#5

Ok så det är bara kod för att generera javascript koden kan man säga?

Medlem sedan apr. 2004778 inlägg
#6

I det här fallet så tror jag att javascriptkoden ligger i en .js fil så det enda som görs är att kopplingen till .js filen genereras.

Medlem sedan jan. 20013 406 inlägg
#7

Ok, kan man på nått sätt kryptera informationen i en .js fil och lägga i en dll-fil och med liknande kod som ovan anroppa dll-filen?

Medlem sedan apr. 2004778 inlägg
#8

Problemet du stöter på är att javascript är klientkod. Om du lägger js-koden i en dll fil så måste du skapa en textsträng med js-koden som du sedan registrerar som kodblock. Det gör att när du tittar på källkoden i en browser så syns jskoden ändå.
Det finns några försök till att "kryptera" js-kod men jag tror inte att jag sett något som funkat tillräckligt bra.
I det exempel du visar ovan så gissar jag på att man kan titta i källkoden på den genererade sidan och på så sätt hitta js filen och få fram scriptet.

Medlem sedan jan. 20013 406 inlägg
#9

Jscript koden laddas heller inte snabbare eftersom dll-filen tillsammans med asp filen bara kör ut koden till klienten som sedan får ta hand om körningen.

Medlem sedan apr. 2004778 inlägg
#10

Precis, eftersom js är klientkod.
Personligen så använder jag .js filer som jag inkluderar i de sidor de behövs. På så sätt så kan jag återanvända mina script och jag har bara ett ställe att ändra på om det behövs. Det blir nästan lite objekt-orienterat. En .js fil för grundfunktioner, en för de script som sköter menyn, osv. Man får en bra struktur och det blir lätt att uppgradera, vilket för min del är väldigt viktigt.

Medlem sedan juli 20022 537 inlägg
#11

Menar du så här?

<script language="javascript" src="sidan.aspx"></script>

I sidan.aspx skriver du ut t.ex. "document.write('Texten');" som en literal.
Den koden kan du sedan använda i en ASP-sida.

Medlem sedan okt. 2003132 inlägg
#12

Finns det inget annat sätt än:
<script language="javascript" src="sidan.aspx"></script>

Nackdelen med detta script är att hela sidan måste laddas innan
nånting visas

Medlem sedan juli 20022 537 inlägg
#13

airwolf skrev:

Finns det inget annat sätt än:
<script language="javascript" src="sidan.aspx"></script>

Nackdelen med detta script är att hela sidan måste laddas innan
nånting visas

Något annat sätt vore att spara en XML-fil någonstans (alternativt i en databas) och sen läsa av den med ASP.

Vad vill du göra med filen?

Medlem sedan juli 20022 537 inlägg
#14

Ett annat alternativ som dock är helt otestat vore kanske att låta js-filer köras som aspx-filer?

Testa att lägga det här i din web.config:

<httphandlers>
  <add verb="*" path="*.js" type="System.Web.UI.PageHandlerFactory,System.Web" />
</httphandlers>

Som sagt är det endast teori och jag har absolut ingen aning om vad som händer om du kör det där ;)

Medlem sedan apr. 2004778 inlägg
#15

Finns det inget annat sätt än:
<script language="javascript" src="sidan.aspx"></script>

Nackdelen med detta script är att hela sidan måste laddas innan
nånting visas

Stämmer inte riktigt. Om script taggen ligger högst upp på sidan och du har script som inte ligger i funktioner så kommer de köras. Nackdelen med detta är om det scriptet behöver använda någon tagg längre ner på sidan, då får du fel eftersom resten av sidan inte laddats ännu.

Medlem sedan okt. 2003132 inlägg
#16

Den ska läsa ut storlek på en massa bilder.
Så här ser det ut i dagsläget:
Resolution: <script language="javascript" src="myRes.aspx?src=<%= strPath & "/" & objItem.Name %>"></script>

Medlem sedan juli 20022 537 inlägg
#17

Om du har många filer kan det ta ganska lång tid att hämta all info.
Ett tips är att du kör helhjärtat på asp.net eller kör någon asp-komponent som kollar upp det där.

OT:
airwolf = addeladde? ;)

Medlem sedan okt. 2003132 inlägg
#18

Ok.
airwolf = addeladde?
Nope 2 skillda personer

Medlem sedan juli 20022 537 inlägg
#19

airwolf skrev:

Ok.
airwolf = addeladde?
Nope 2 skillda personer

Okej :)

Schizofren? §e

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)