JS链接是什么意思

JavaScript013

JS链接是什么意思,第1张

JS简称Javascript;JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

JS链接则是用JS代码实现功能的一条链接

如:<a href='#' onclick="alert('JS链接')">链接文本</a>

你点击后“链接文本”后,会弹出“JS链接”提示确认

你需要修改attachment.php文件 在根目录下

在$attachexists = $ispaid = FALSE下面添加

if (!empty($checktwo)) {

在最末尾的?>前添加

} else {

echo "<script>alert('写上你要提示的内容')</script>"

echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0URL=$PHP_SELF?checktwo=1&aid=$aid\">"

}

我在本机架设Discuz! 5.0.1调试通过了

完整代码如下:

<?php

/*

[Discuz!] (C)2001-2006 Comsenz Inc.

This is NOT a freeware, use is subject to license terms

$RCSfile: attachment.php,v $

$Revision: 1.13 $

$Date: 2006/08/11 06:51:07 $

*/

require_once './include/common.inc.php'

$discuz_action = 14

if($attachrefcheck &&$_SERVER['HTTP_REFERER'] &&preg_replace("/https?:\/\/([^\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) != $_SERVER['HTTP_HOST']) {

//header("Location: {$boardurl}images/common/invalidreferer.gif")

showmessage('attachment_referer_invalid', NULL, 'HALTED')

}

/*

$query = $db->query("SELECT a.*, t.fid, p.authorid FROM {$tablepre}attachments a, {$tablepre}threads t, {$tablepre}posts p

WHERE a.aid='$aid' AND t.tid=a.tid AND p.pid=a.pid AND t.displayorder>='0' AND p.invisible='0'")

$attach = $db->fetch_array($query)

*/

periodscheck('attachbanperiods')

$attachexists = $ispaid = FALSE

if (!empty($checktwo)) {

if(!empty($aid)) {

$query = $db->query("SELECT * FROM {$tablepre}attachments WHERE aid='$aid'")

if($attach = $db->fetch_array($query)) {

$query = $db->query("SELECT tid, fid, price, special FROM {$tablepre}threads WHERE tid='$attach[tid]' AND displayorder>='0'")

$thread = $db->fetch_array($query)

if($thread['fid']) {

$query = $db->query("SELECT authorid FROM {$tablepre}posts WHERE pid='$attach[pid]' AND invisible='0'")

if($db->num_rows($query)) {

$attach['authorid'] = $db->result($query, 0)

$attachexists = TRUE

}

}

}

}

if($allowgetattach &&($attach['readperm'] &&$attach['readperm'] >$readaccess) &&$adminid <= 0 &&!($discuz_uid &&$discuz_uid == $attach['authorid'])) {

showmessage('attachment_forum_nopermission', NULL, 'NOPERM')

}

if(!$thread['special'] &&$thread['price'] >0 &&(!$discuz_uid || ($discuz_uid &&$discuz_uid != $attach['authorid'] &&$adminid <=0))) {

$query = $db->query("SELECT uid FROM {$tablepre}paymentlog WHERE uid='$discuz_uid' AND tid='$attach[tid]'")

if($db->result($query, 0)) {

$ispaid = TRUE

} else {

showmessage('attachment_payto', 'viewthread.php?tid='.$attach['tid'])

}

}

$filename = $attachdir.'/'.$attach['attachment']

if(is_readable($filename) &&$attachexists) {

$query = $db->query("SELECT f.viewperm, f.getattachperm, f.getattachcredits, a.allowgetattach FROM {$tablepre}forumfields f

LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid

WHERE f.fid='$thread[fid]'")

$forum = $db->fetch_array($query)

if(!$ispaid) {

if(!$forum['allowgetattach']) {

if(!$forum['getattachperm'] &&!$allowgetattach) {

showmessage('group_nopermission', NULL, 'NOPERM')

} elseif(($forum['getattachperm'] &&!forumperm($forum['getattachperm'])) || ($forum['viewperm'] &&!forumperm($forum['viewperm']))) {

showmessage('attachment_forum_nopermission', NULL, 'NOPERM')

}

}

}

if(!($isimage = preg_match("/^image\/.+/", $attach['filetype']))) {

checklowerlimit($creditspolicy['getattach'], -1)

}

if(empty($noupdate)) {

if($delayviewcount == 2 || $delayviewcount == 3) {

$logfile = './forumdata/cache/cache_attachviews.log'

if(substr($timestamp, -1) == '0') {

require_once DISCUZ_ROOT.'./include/misc.func.php'

updateviews('attachments', 'aid', 'downloads', $logfile)

}

if(@$fp = fopen(DISCUZ_ROOT.$logfile, 'a')) {

fwrite($fp, "$aid\n")

fclose($fp)

} elseif($adminid == 1) {

showmessage('view_log_invalid')

}

} else {

$db->query("UPDATE {$tablepre}attachments SET downloads=downloads+'1' WHERE aid='$aid'", 'UNBUFFERED')

}

}

if(!$isimage) {

$forum['getattachcredits'] = $forum['getattachcredits'] ? unserialize($forum['getattachcredits']) : array()

$getattachcredits = $forum['getattachcredits'] ? $forum['getattachcredits'] : $creditspolicy['getattach']

updatecredits($discuz_uid, $getattachcredits, -1)

}

$filesize = filesize($filename)

ob_end_clean()

header('Cache-control: max-age=31536000')

header('Expires: '.gmdate('D, d M Y H:i:s', $timestamp + 31536000).' GMT')

header('Content-Encoding: none')

$attach['filename'] = (strtolower($charset) == 'utf-8' &&strexists($_SERVER['HTTP_USER_AGENT'], 'MSIE')) ? urlencode($attach['filename']) : $attach['filename']

if($isimage &&!empty($noupdate)) {

header('Content-Disposition: inlinefilename='.$attach['filename'])

} else {

header('Content-Disposition: attachmentfilename='.$attach['filename'])

}

header('Content-Type: '.$attach['filetype'])

@$fp = fopen($filename, 'rb')

@flock($fp, 2)

$attachment = @fread($fp, $filesize)

@fclose($fp)

echo $attachment

} else {

showmessage('attachment_nonexistence')

}

} else {

echo "<script>alert('$PHP_SELF')</script>"

echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0URL=$PHP_SELF?checktwo=1&aid=$aid\">"

}

?>

还有不明白的给我站内留言 enjoy it!

你要知道js是动态加载的,想要实现这样的功能,必须设置一个全局变量,而js只能在当前页设置全局变量,如果你的网站始终在一个页面操作的话是可以实现的,方法就是设置一个全局的变量,被点击之后将变量的值改变。但是你的网站如果不是始终在一个页面,这就只有使用后台语言加上js实现了