问一个奇怪的问题

mindon 2006-08-11 01:35:04
<script src="my.js?v=123"></script>

这里的 my.js 脚本里能否直接访问引用它的 <script/> 对象?

如果不能,有什么别的方法能直接得到 ?v=123 这个内容?
...全文
222 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mindon 2006-11-27
  • 打赏
  • 举报
回复
其实当初只不过是想知道一个<script/> src 指定的脚本之中有没有类似 self或者this 这类的东西。
fandiy 2006-08-23
  • 打赏
  • 举报
回复
这个问题有点挑战极限的意味,其实mrshelly兄弟的方法已经很好了,只需要稍微修改一下即可。一般情况下script的执行是顺序执行的,可以通过增加端点绕道解决。思路供参考
<script src="test.js?v=123" language="JavaScript"></script>
<script src="test.js" language="JavaScript"></script>
<Script language="javascript">
</Script>
<script src="test.js?v=456" language="JavaScript"></script>
<script src="test.js?v=789" language="JavaScript"></script>

test.js代码

if (typeof(jsbreak)!="number") jsbreak = 0;
else jsbreak ++;

jscripts = document.scripts;
if(jscripts){
var count=-1;
for (var i=0;i<jscripts.length;i++){
var _t = jscripts[i].src;
if (_t.indexOf("test.js")!=-1){
count++;
if(count==jsbreak){
alert(_t.split("=")[1]);
break;
}
}
}
}
mindon 2006-08-22
  • 打赏
  • 举报
回复
谢谢 mrshelly,不过你的办法解决不了这种情况:同一个页面使用同一个脚本不过参数不同

<script id="abc" language="JavaScript" src="test.js?v=1"></script>
<script id="xyz" language="JavaScript" src="test.js?v=2"></script>


leohuang 2006-08-13
  • 打赏
  • 举报
回复
牛,长见识了

有机会向您学习
mrshelly 2006-08-12
  • 打赏
  • 举报
回复
在一般情况下,某事物个体发生具有自身特有属性的负面现象,且无法以科学的角度得到合理有效的解释,我们通常称此类现象为“人品问题(RPWT)”。
------------摘自《辞海》第314页。

test.htm
<SCRIPT id="js1" src="test.js?v=123" Language="JavaScript"></SCRIPT>
<SCRIPT Language="JavaScript">
alert(test);
</SCRIPT>



test.js
var str=document.getElementById('js1').src.split("?")[1].split("=")[1];

if(str=="1") var test="test1";
if(str=="2") var test="test2";
if(str=="3") var test="test3";
if(str=="4") var test="test4";
if(str=="5") var test="test5";

ice_berg16 2006-08-11
  • 打赏
  • 举报
回复
你这样的态度我看没人帮你了,自以为是的家伙。
mindon 2006-08-11
  • 打赏
  • 举报
回复
提到服务器端的谢谢了,一边站着去,呵呵。
leohuang 2006-08-11
  • 打赏
  • 举报
回复
说能传的做个例子来看看

同意不能传的举手!

|||
\|||!
|
|
ice_berg16 2006-08-11
  • 打赏
  • 举报
回复
只有在wscript环境下js才可以使用参数
如cscript test.js abc
这个abc就是参数,

WEB环境写还是通过服务端脚本语言来变相实现吧.
liurui0502 2006-08-11
  • 打赏
  • 举报
回复
楼上说的好像不对,js文件可以传参的,他的写法和在jsp页面里写<script></script>脚本一样
leohuang 2006-08-11
  • 打赏
  • 举报
回复
js不能通过这种方式传参

用其他语言可以html/asp/php/jsp/aspx...
hbhbhbhbhb1021 2006-08-11
  • 打赏
  • 举报
回复
和页面传值一样,用request
liurui0502 2006-08-11
  • 打赏
  • 举报
回复
能直接访问<head><script>function init(){}</script></head><body onload="init()">
mrshelly 2006-08-11
  • 打赏
  • 举报
回复
my.js?v=123

my.php?v=123

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧