OI无关--关于侧边栏
自己在比较闲的时候学了一点html和js,大概能写一些比较简单的东西了,于是就动起了侧边栏的念头。
如果能在博客里加一个题目快速跳转也很兹磁啊。
首先要选择题目,oj的名字肯定是不能直接输入,因为还有各种大小写,全拼或缩写的问题(如洛谷就有luogu,lgoj,lg等等的写法,不过大多数都是第一种吧)。所以这个一定是给出来一些选项,直接让你选。而题目ID一定是要自己输入的。判错就算了吧,反正跳错了也跟我没关系。
那么我们在教程里找一找,还真的找到了这个东西,就是html里面一个叫表单的元素,里面有文本框,单选和复选,按钮,当然还有下拉框。语法大概就是这样的:
<!--文本框-->
<input type="text"></input>
<!--下拉列表-->
<select>
<option value=""></option>
</select>
<!--按钮-->
<button type="button" onclick=""><button>
于是我们就可以写出来下面的一些东西了:
<div>
<p>各大OJ快速跳转</p>
<form name="OJ" >
<select name="OnlineJudge" id="OnlineJudge">
<option value="BZOJ">BZOJ</option>
<option value="LUOGU">LUOGU</option>
<option value="POJ">POJ</option>
<option value="HDU">HDU</option>
<option value="UOJ">UOJ</option>
<option value="Codeforces">Codeforces</option>
<option value="UVA">UVA</option>
<option value="SPOJ">SPOJ</option>
<option value="ZOJ">ZOJ</option>
</select>
<input type="text" name="pid" id="pid"></input>
<button type="button" onclick="goto()">跳转</button>
</form>
</div>
这样,就差上js代码了。
然后当然是申请js权限啊,这个一般都是给过的。
然后再参考baidu,得知页面跳转用的是window.open()函数,那么就可以这么写:
<script>
function goto() {
var tempp=document.getElementById("test");
tempp.innerHTML="zhy %%%";
var ojname=document.getElementById("OnlineJudge").value;
var temp=document.getElementById("pid").value;
if(temp=="") {
tempp.innerHTML("请输入题目id");
return ;
}
if(ojname=="BZOJ") window.open("https://www.lydsy.com/JudgeOnline/problem.php?id="+temp);
if(ojname=="LUOGU") window.open("https://www.luogu.org/problemnew/show/P"+temp);
if(ojname=="POJ") window.open("http://poj.org/problem?id="+temp);
if(ojname=="HDU") window.open("http://acm.hdu.edu.cn/showproblem.php?pid="+temp);
if(ojname=="SPOJ") window.open("http://www.luogu.org/problemnew/show/SP"+temp);
if(ojname=="UVA") window.open("http://www.luogu.org/problemnew/show/UVA"+temp);
if(ojname=="Codeforces") window.open("http://www.luogu.org/problemnew/show/CF"+temp);
if(ojname=="ZOJ") window.open("http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode="+temp);
if(ojname=="UOJ") window.open("http://uoj.ac/problem/"+temp);
}
</script>
(那句%%%就当没看见了,只是测试用的)
然而,我们把这段代码加上,并没有什么反应,审查一下元素,就可以发现,这里面的js代码怎么意外失踪了呢?
然后我联系了一下博客园团队,答复是js代码限制不多,但是不能是恶意代码。
恶意代码!
可能window.open()就被ban掉了吧。。
这怎么办啊,估计所有的页面跳转都是恶意代码,这不是就没法实现了吗?
你再想想,恶意代码检查肯定是在你填的东西里面检查,那如果你的代码没在填的东西里面,那不就查不到了吗?
然而还有一个问题,就是你还要找个地方把你的代码放上,那怎么找呢?
我们发现,博客园本身就可以发文件啊,那么我们把文件传上,然后把地址弄过去,然后就好了。。
本蒟蒻还是太菜了啊,这么简单的东西竟然还花了一个星期,如果有js大佬轻喷啊。
OI无关--关于侧边栏的更多相关文章
- 余秋雨的话(与OI无关)
余秋雨的话 1.假如你想要一件东西,就放它走.它若能回来找你,就永远属于你:它若不回来,那根本就不是你的. 2. 一个人会落泪,是因为痛:一个人之所以痛,是因为在乎:一个人之所以在乎,是因为有感觉:一 ...
- 日记(OI 无关,文化课无关)
2019.11.13 今天在研究 wss 的代码为什么比我快那么多. 看见他定义了一个结构体叫 thxorz,一定是因为 orz 了 thx 得到了信仰加成了. 然后刚说完这句话就看见 thx 走了进 ...
- 2019 OI日记
// 我觉得记日记是个好习惯吧 毕竟指不定哪天就学不下去了 就AFO了 就没有梦了 // [置顶]活跃于你谷普及训练场.ybt(没底气说全部).loj(提高基础部分) //优先级从前往后 因为 ...
- LCA专题
标签(空格分隔): LCA 我的个人网站挂了,最近就先用这个来写博客吧.以后争取在这个网站写一些与OI无关的个人爱好的东西. 题目来源:code[VS] 倍增--在线算法 用 $f[i][j]$ 记录 ...
- 近期概况&总结
下午考完英语的学考就要放假啦,是衡中的假期啊QAQ 所以灰常的激动,一点也不想写题(我不会告诉你其实假期只有一个晚上.. 自从CTSC&APIO回来之后就一直在机房颓颓颓,跟着zcg学了很多新 ...
- CTSC2016&&APIO2016游记
4.30 下午衡中放假,我们因为比赛的缘故提前到中午12:00放假 然后我爸爸说要来接我,直到下午两点多他才到,然后衡中宿舍的楼管阿姨死活不给我开门 莫名其妙的等到了三点多快四点的时候我才跟实验班的一 ...
- WC2019 划水记
写在前面: 本篇是擅长咕咕咕的\(\text{BLUESKY007}\)同学难得不咕写的游记,将会记录\(WC2019(2019.1.24(Day\ 0)\sim2019.1.30(Day\ 6))\ ...
- 2017FJ省队集训 游记
2017FJ省队集训 游记 又是一篇流水账 Day 1 今天是省队集训的第一天.早上骑车去八中,到的时候汗流太多浑身湿透被杨哥哥和runzhe2000 d了,一个说我去游泳了一个说我打球了...流完汗 ...
- 【扯淡篇】SDOI2018丶一轮游丶记
--某不知名蒟蒻的SDOI2018 R1退役场游记&&OI生涯总结 真的是混不下去了. 进队是不可能的, 进队是不可能进队的. 这辈子不可能进队的. 刷题又不会刷 就是靠打表找规律这种 ...
随机推荐
- linux find 命令
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- swap file "*.swp" already exists!
ll -a rm .*.swp
- windows底下怎么让cmder通过输入subl去打开sublime text
在window自身的cmd或者你安装的cmder中输入 doskey subl="D:\Program Files\sublime3\Sublime Text 3\sublime_text. ...
- 【Python】详解Python多线程Selenium跨浏览器测试
前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏 ...
- Tensorflow(二)
1---------------- 试用tensorflow的模块,必须配套tensorflow的方法 import tensorflow as tf a=3 ##定义 行向量 w=tf.Variab ...
- [py模块]random&string取随机字符串
栗子 - 取n位的随机字符串(大小写/数字) def get_random_str(len_str): import string import random letters_nums = strin ...
- 畅通工程续 (SPFA模板Floy模板)
http://acm.hdu.edu.cn/showproblem.php?pid=1874 SPFA #include <iostream> #include <stdio.h&g ...
- Fisher精确检验【转载】
转自:https://en.wikipedia.org/wiki/Fisher%27s_exact_test https://www.cnblogs.com/Dzhouqi/p/3440575.htm ...
- cloudflare的NS服务器地址
abby.ns.cloudflare.com, alex.ns.cloudflare.com, amy.ns.cloudflare.com,andy.ns.cloudflare.com, a ...
- Pycharm上python3运行unittest无法生成测试报告
原文地址https://www.cnblogs.com/yoyoketang/p/7523409.html 前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告:为什么别人 ...