Board logo

标题: [交流] 开发插件中如何读取配置文件的数据? [打印本页]

作者: ttrry    时间: 2008-4-9 10:50     标题: 开发插件中如何读取配置文件的数据?

  1. var security_id=%tw_security_id;
  2. twpath=external.readIni(security_id,"xxx","plugin.ini","Settings","twpath","xxx")
  3. alert(twpath);
复制代码
为什么无法获取数据?~
提示第1行语法错误,也就是定义TW认证串那句有错误~

追加问题:谢谢解决问题,因为我是将插件页面直接在TW中打开运行~
不知以上方法对侧边栏支持不?
还有如何点击插件图标后在新窗口打开插件页面,此时对以上方法支持不?~


[ 本帖最后由 ttrry 于 2008-4-9 12:32 编辑 ]
作者: yjwgi    时间: 2008-4-9 11:53

我不会做插件,
帮楼主顶一下。
作者: needed    时间: 2008-4-9 12:11

plugin.ini

  1. [General]
  2. Name=read_ini_ex
  3. Author=kkf
  4. Version=1.0
  5. ModuleType=script
  6. FileName=read_ini_ex.tw
  7. Comments=kkf
  8. Type=STATUSBUTTON
  9. Icon=cstrike.ico
  10. StartAfterPageDone=
  11. [self_var]
  12. author=kkf
复制代码
==============================================

read_ini_ex.tw   //后缀与内容无关
  1. <script language=JavaScript>
  2. var security_id=%tw_security_id;
  3. var author=external.readIni(security_id,"read_ini_ex","plugin.ini","self_var","author","xxx")
  4. alert(author);
  5. </script>
复制代码
tw 2.1.2.4 测试通过
==============================

其实参考一下前人所写的一些插件会有很大帮助, 虽然参考文档可能不是很完善.  
这里有一个tw的 wiki http://wiki.ever360.com .
  我们一起努力吧
作者: sky5    时间: 2008-4-9 12:17

第一句是对的,要不你也可以用

var security_id = %max_security_id;
作者: ttrry    时间: 2008-4-9 12:25     标题: 回复 3# 的帖子

我早已看过你发的那个网站上的内容了~
那是不是只支持插件栏或状态栏的SCRIPT啊,侧边栏的支持不?
如何点击插件弹出一个新页面,支不支持以上方式获取文件数据?~
作者: sky5    时间: 2008-4-9 12:29

支持啊,看我做的插件吧,呵呵
作者: needed    时间: 2008-4-9 12:31

1:侧边栏 获取认证id 有bug .
2. 你可以参考一下我写的 savemedia http://bbs.ioage.com/cn/attachment.php?aid=14474
作者: ttrry    时间: 2008-4-9 12:37

谢谢,我已经在参考的这个savemedia插件了,只是有几个地方还没全弄明白~所以问问~
本来我做的插件是想新窗口打开页面的,但不会弄,所以弄成侧边栏了~~~
不过感觉用在侧边栏好些,不知侧边栏插件有没其他获取INI文件数据的方法?~
作者: very    时间: 2008-4-9 12:40

学习了。自己也动手试试
作者: needed    时间: 2008-4-9 12:42

似乎侧边栏还没有修复那个认证id的bug..
  所以一些tw的高级属性不会支持...
作者: AY    时间: 2008-4-9 21:01

  1. <script language=JavaScript>
  2. var security_id=%tw_security_id;
  3. var author=external.readIni(security_id,"read_ini_ex","plugin.ini","self_var","author","xxx")
  4. alert(author);
  5. </script>
复制代码
这个写法不是太好,尤其是自动执行及比较多人用的插件,因为执行时及执行后 security_id 都有机会被恶意网页利用。其实直接用 %tw_security_id 就 ok 了:
  1. <script language=JavaScript>
  2. var author=external.readIni(%tw_security_id,"read_ini_ex","plugin.ini","self_var","author","xxx")
  3. alert(author);
  4. </script>
复制代码

作者: sky5    时间: 2008-4-9 21:10

那个方式是为了传递security id的
  1. <script language="JavaScript">
  2. var thUrl = window.location.href;
  3. var security_id=%max_security_id;
  4. var page = "";
  5. window.open("","_blank");
  6. external.get_tab(security_id,external.cur_sel).document.write("<script>var security_id='"+security_id+"';<\/script>\n"+page);
  7. </script>
复制代码

作者: 52twb    时间: 2008-4-9 21:47

呵呵。学习了。今天才看到这么好的帖子

作者: AY    时间: 2008-4-9 21:55

原帖由 sky5 于 2008-4-9 21:10 发表 http://bbs.ioage.com/cn/images/common/back.gif
那个方式是为了传递security id的
var thUrl = window.location.href;
var security_id=%max_security_id;
var page = "";
window.open("","_blank");
external.get_tab(security_id,external.cur_sel).documen ...

variable 当然是有它的作用,但这种情况下不应该使用 variable。如果真的非要使用 variable 不可,至少在插件执行后也要清除 variable 的值,否则 %tw_security_id 便失去安全作用,不能防止网页使用某些插件专用函数。
作者: sky5    时间: 2008-4-10 00:30

嗯,那倒是,谢谢指出




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2