chrome浏览器插件content_scripts无法调用iframe下的元素,求大神帮忙。

现在想搞一个插件,可以实现页面的自动点击,结果发现这个网页包含一个iframe的,具体以下代码:
主页面代码:

 <html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>开通业务确认</title>
<link rel="stylesheet" href="/page/swcl/css/easyui.css" type="text/css" media="screen">
<script src="/page/swcl/js/jquery.min.js"></script>
<script src="/page/cm/js/jquery.easyui.min.js"></script>
<script src="/page/swcl/platform/js/easyui-lang-zh_CN.js"></script>
<script src="/page/swcl/sunshine/js/clipboard.min.js"></script>
<script src="/page/swcl/sunshine/js/migu.js"></script>
<script>
var urlPrefix = "";
var errorMsg="";
var memberType=parseInt("0");
var netId="ba1b41f7e0634a2a997c8d071651704d";
var authId="e9419cd15c484e28af5f8774abec49b1";

var openBizOrder = {};
openBizOrder.netId="ba1b41f7e0634a2a997c8d071651704d";
openBizOrder.authId="e9419cd15c484e28af5f8774abec49b1";
openBizOrder.productionId="698039020020006005";
openBizOrder.price=parseInt("500");
openBizOrder.channelId="014Z020";
openBizOrder.orderId="0120520171116299428725";

var openBizOrderDesc="欢迎开通中国移动咪咕音乐企业彩铃功能业务";

var isMutiOrder = "false";
if(isMutiOrder=="true"){
    var nextOpenBizOrder = {};
    nextOpenBizOrder.netId="";
    nextOpenBizOrder.authId="";
    nextOpenBizOrder.productionId="";
    nextOpenBizOrder.price=parseInt("");
    nextOpenBizOrder.channelId="";
    nextOpenBizOrder.orderId="";

    var nextOpenBizOrderDesc="";
}

var h5AppUrl = "";

</script>
<script src="/page/swcl/sunshine/js/openBizConfirm2.js"></script>
<script id="h5AppUrl" data="" type="text/javascript"></script>
</head>
<body>


<div id="payDetailTag" style="background: rgb(255, 255, 255); position: fixed; z-index: 1000; left: 0px; top: 0px; display: block; -webkit-box-align: center; align-items: center; width: 100%; height: 100%;"><div style="width: 100%; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; -webkit-box-pack: center;  -ms-flex-pack: center; -webkit-justify-content: center; -moz-justify-content: center; justify-content: center; text-align: center; height: 100%"><iframe id="frame" src="http://223.111.8.142:8080/migunetsdk/webJs/frame.html?netId=ba1b41f7e0634a2a997c8d071651704d&amp;umark=Common&amp;client=WAP" name="__migu_web_pay_frame" class="miguframe" style="position: absolute; top: 0; left: 0; border: 0; width: 100%; height: 100%;"></iframe></div><div id="payInfo" style="display: block;position:fixed;top: 0;left: 0;z-index: -1;text-align: center;width: 100%;height: 100%;background: #dedede;font-family: 微软雅黑;color: rgb(78, 78, 78);line-height:45px;font-size:1.525em;">欢迎开通中国移动咪咕音乐企业彩铃功能业务</div></div></body></html>

iframe页面的代码

 <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline' 'unsafe-eval' http://wsdkdl.migu.cn:8080"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"><link rel="stylesheet" type="text/css" href="http://wsdkdl.migu.cn:8080/music/Common/style.css?v=3d1thl8Ih4sFTxA3_IbMQ1"></head><body><script>var __url_res='http://wsdkdl.migu.cn:8080/music/Common';var __url_bin='http://wsdkdl.migu.cn:8080/ba1b41f7e0634a2a997c8d071651704d/1510773427830/netsdk_b.bin?v=3d1thl8Ih4sFTxA3_IbMQ1';var __s='e3e9adea218c4d4f9d535fc966d6170a';window.parent.postMessage('{"msgtype": "init2", "__s":"'+__s+'"}', '*');</script><script crossorigin="" src="http://wsdkdl.migu.cn:8080/ba1b41f7e0634a2a997c8d071651704d/1510773427830/netsdk_b.js?v=3d1thl8Ih4sFTxA3_IbMQ1"></script>
<div id="payLoginTag" class="payLoginTag"><div class="payLogin"><div class="payLogo"><img src="http://wsdkdl.migu.cn:8080/music/Common/img/pay_logo_ear.gif"></div></div></div><div class="payDetail onkey" id="payDetail"><div class="close"><a href="javascript:;"><img src="http://wsdkdl.migu.cn:8080/music/Common/img/closeNavBtn_m.png" id="close"></a></div><div class="content"><div class="payName">包月费用:<span id="fee">¥5.00</span></div><div class="notice"><span id="notice">请输入手机号码及验证码,完成支付</span></div><div class="payInfo"><p>支付号码:<span class="payPhone" id="payPhone">183****7771</span></p></div><div class="okPay"><a href="javascript:;" id="okPay">确认支付</a></div><div class="footer onekeyFooter"><div class="footerImg"><img src="http://wsdkdl.migu.cn:8080/music/Common/img/bottom.png" id="discribe" class="top"></div><div class="logo"><img src="http://wsdkdl.migu.cn:8080/music/Common/img/migu-logo.png" class="migulogo" id="logo"></div><div class="clear"></div><div class="describe" id="detailInfo"><p>本支付由中国移动咪咕文化提供,付费金额将从您的话费中扣除。</p></div></div></div></div></body></html>

我要提取到iframe中的一个a元素,
现在在content_scripts的js中直接写var okPay = document.getElementById("okPay");得到的却是null。在mainifest.json中也配置了js在iframe中应用,{
"matches": ["http://211.137.107.18:8888/cm/*","http://223.111.8.142:8080/migunetsdk/webJs/*"],
"js": ["js/myscript2.js"],
"all_frames":true
}。希望大神们能帮忙看看,怎么解决。

2个回答

没咋明白 应该是权限的问题把

jzlkf
jzlkf 已经配置"all_frames":true,这个了。现在就是在iframe下面取a元素的时候就是null
2 年多之前 回复
chenxiansheng888
小刀有话说 回复jzlkf: http://blog.allenm.me/2010/11/chrome-extension-cannot-read-iframe/ 试试这个
2 年多之前 回复
jzlkf
jzlkf 权限配置已经在mainifest中配置了,"permissions": [ "tabs", "https://*/", "http://*/*", "webRequest", "webRequestBlocking" ]
2 年多之前 回复

这个是跨域访问,chrome不允许的
一种解决思路是把content脚本除了注入到主页面,同时也注册另一个content脚本到iframe指向的页面,并且在两个脚本间进行消息传递
另一种思路更粗暴些,可以搜索一下“chrome 设置 跨域“,直接设置允许跨域访问

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
chrome扩展怎么在content_scripts中加载CDN上的JS文件。不是通过mainfest引入

我的项目chrome扩展里面需要用到layui,下载到扩展里面再引用路径老是不对,里面model路径是以web的URL为路径而不是以extension为路径。所以老是报错。content_scripts跟页面的JS是两个不同的执行环境。所以如果在content_scripts里面创建script标签引用再addpend到head里面是无效的。如果想在线下加载该怎么做呢?

chrome插件开发中,模糊查询content_script中的matches

![图片说明](https://img-ask.csdn.net/upload/201702/18/1487402362_665197.png) 在content_script中的matches,我想要模糊查询关键字。 这个属性有什么限制吗? chrome插件开发中,模糊查询content_script中的matches

chrome插件开发的问题,contentscript与popup相关

插件页面上的调用如下 ``` chrome.tabs.getSelected(null, function (tab) { chrome.tabs.executeScript(tab.id, { code: "plocalize(" + paramString + ");" }, function () { console.log('done'); }); }); ``` plocalize在contentscript的一个js文件中 但是有时候必须刷新当前页面,否则会报出Uncaught ReferenceError: plocalize is not defined错误,但这时候看到页面的contentscript里是有这个文件的 不知道描述的清不清楚,有什么问题我再解释

做谷歌插件时,为什么JS代码不执行

json文件中的内容是: "content_scripts": [{ "all_frames": true, "matches": ["http://www.google.com/*"], "js": ["popup.js"] }]

Chrome插件popup.js的onclick无效

![图片说明](https://img-bbs.csdn.net/upload/201909/30/1569859047_746637.png) **插件的主要功能是:** 输入关键词,点击搜索,即调用a.js和b.js,分别在不同搜索引擎中进行搜索。 本功能在普通html中可以实现,但是转为chrome扩展后,因本人处理不好onclick事件,点击搜索无效。 本人是扩展小白,请懂的兄弟姐妹施以援手! popup.html如下: ``` <head> <script src="popup.js"></script> </head> <body> <div class="search clearfix"> <input type="text" name="q" id="bdcsMain" value="关键词" onfocus="if (value ==关键词'){value =''}" onblur="if (value ==''){value='关键词'}" > <button class="search" type="submit" id="click-this">搜索</button> </div> <script src="scripts/a.js"></script> <script src="scripts/b.js"></script> </body> ``` popup.js如下: ``` document.addEventListener('DOMContentLoaded', function() { document.getElementById("click-this").addEventListener("click", "a();b();");}) ```

python 在console_scripts上执行出现ModuleNotFoundError

![图片说明](https://img-ask.csdn.net/upload/201806/16/1529128664_605889.png) 出现ModuleNotFoundError错误的是我自定义的包,其他图片在下面

360浏览器切换Iframe的问题

一个视频监控的代码,大窗口里有4个iframe,可以通过放大iframe来实现切换,每个iframe里都有时间显示的功能,现在问题来了,时间显示在chrome浏览器正常显示,但是在360浏览器里就不太正常了,4个iframe一个显示有卡顿,另外3个iframe在切换的瞬间时间会跳动的特别快,试了好久,也调试过缓存的问题,但还是不行,麻烦各位大神了。 ``` <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="renderer" content="webkit" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title>地图应用</title> <link href="css/base.css" rel="stylesheet" /> <link href="css/ol4.css" rel="stylesheet" /> <link href="css/bootstrap4.0.css" rel="stylesheet" /> <!--zTree插件--> <link href="css/zTree/zTreeStyle.css" rel="stylesheet" /> <!--时间插件--> <link href="css/datePicker/datetimepicker.min.css" rel="stylesheet" /> <!--弹窗插件--> <link href="css/layer/theme/default/layer.css" rel="stylesheet" /> <link href="css/mapsite.css" rel="stylesheet" /> <link href="css/colpick.css" rel="stylesheet" /> <link href="css/map.css" rel="stylesheet" /> <script src="scripts/libs/jquery.min.js"></script> <script src="scripts/libs/ckplayer/ckplayer.js"></script> <script src="scripts/libs/bootstrap4.0.js"></script> <script src="scripts/config.js"></script> <script src="scripts/myVideoPlayerHelper.js"></script> <script src="scripts/libs/video/flowplayer-3.2.8.min.js"></script> </head> <body onload="PageLoad()" ondragstart="return false"> <!--左下角实时监控视屏--> <div id="h1004" class="listContainer" style="display: block;"> <h1>实时监控<div style="float:right;"><img src="./images/tools/full.png" class="fullImage" onclick="fullRealTimeMonitoringModal($(this))"/><span class="myclosebutton closeLevel" style="padding:0 8px;" onclick="showDefaultFourVideo()">×</span></div></h1> <span class="switchCarousel" style="display:none;"><img style="margin: 7px 0;" src="./images/tools/swiper.png" alt="" /></span> <div id="carousel" style="height: 100%;"> <div class="cameraWrapper"> <img class="selectImg" onclick="switchActive($(this))" src="images/tools/noSelect.png" alt="noSelect"> <div id="camera1" class="camera"></div> </div> <div class="cameraWrapper"> <img class="selectImg" onclick="switchActive($(this))" src="images/tools/noSelect.png" alt="noSelect"> <div id="camera2" class="camera"></div> </div> <div class="cameraWrapper"> <img class="selectImg" onclick="switchActive($(this))" src="images/tools/noSelect.png" alt="noSelect"> <div id="camera3" class="camera"></div> </div> <div class="cameraWrapper"> <img class="selectImg" onclick="switchActive($(this))" src="images/tools/noSelect.png" alt="noSelect"> <div id="camera4" class="camera"></div> </div> <div class="clearfix"></div> </div> <div id="h1004Video" style="display: none;"> <div id="camera5" class="camera"></div> </div> </div> <script type="text/javascript"> function PageLoad() { param.videoUrl = "rtmp://58.211.54.69/hls/cctv"; param.defaultVideos = ["58","105","57","110"]; //实例化功能工厂 var helpers = [ new MyVideoPlayerHelper()]; IPlayer.show(); IPlayer.showDefaultFourVideo(); } </script> </body> </html> ```

(chrome 扩展)javascript的异步嵌套函数调用, 请教前辈!!!!

背景: 小弟开发了一个在content Script 和 Background Page 之间不断互相嵌套调用的Chrome Extension 在进行了2次嵌套调用后出错。 而我根本无法知道为何里面的代码不执行。 --------------------------------- **出错的地方: background.js 的第九行;** 前辈们帮忙啊!!! -------------------------------- 所有代码如下(option page是空的, 我就没放上来): ``` <manifest.js> { "manifest_version": 2, "name": "Getting started example", "description": "This extension shows a Google Image search result for the current page", "version": "1.0", "options_page": "options.html", "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html" }, "permissions": [ "activeTab", "storage", "tabs", "*://*/*", "background" ], "content_scripts": [ { "matches": ["*://*/*"], "js": ["content.js"], "run_at": "document_start" } ], "background": { "scripts": ["background.js"] } } ``` ``` <popup.js> function start_action() { var bloggerID = document.getElementById('bloggerID').value; var handleQty = document.getElementById('handleQty').value; var bkg = chrome.extension.getBackgroundPage(); bkg.doSomeThing(function(result) { alert( result ); }); } function restore_options() { } document.addEventListener('DOMContentLoaded', restore_options); document.getElementById('start').addEventListener('click', start_action); ``` ``` <content.js> chrome.extension.onRequest.addListener( function (request, sender, sendResponse) { if (request.action == "findCandidates") { var oCandidateList = candidateList(); var nameList = new Array(); for (i = 0;i < oCandidateList.length; i++) { nameList[i] = oCandidateList[i].innerHTML; } sendResponse( nameList ); } } ); chrome.extension.onRequest.addListener( function (request, sender, sendResponse) { if (request.action == "openCandidatePage") { var oCandidateList = candidateList(); for (i = 0;i < oCandidateList.length; i++) { if ( oCandidateList[i].innerHTML == request.candidateName ) { oCandidateList[i].click(); break; } } sendResponse(); } } ); chrome.extension.onRequest.addListener( function (request, sender, sendResponse) { if (request.action == "doFinalJobs") { alert("do the final jobs"); } } ); function candidateList() { var oTags = document.getElementsByTagName("a"); var oResultTags = new Array; for (i=0; i<oTags.length; i++){ if ( oTags[i].hasAttribute("usercard") && oTags[i].hasAttribute("node-type") ) { oResultTags[oResultTags.length] = oTags[i]; } } return oResultTags; } ``` ``` <background.js> function doSomeThing (callback) { chrome.tabs.getSelected(null, function (fatherTab) { chrome.tabs.sendRequest(fatherTab.id, { action: "findCandidates" }, function (candidates) { for (i = 0;i < 1; i++) { chrome.tabs.sendRequest( fatherTab.id, { action: "openCandidatePage", candidateName: candidates[i] }, function(doNothing) { callback("WHY HERE GOSE NO RESPOND"); // 就是这里开始任何代码都不执行 , 也不报错。 之前的所有功能都正常。 }); } }); }); } ```

chrome扩展如何模拟点击特定网页中的超链接?

楼主想利用chrome插件来自动点击某网页XXX.html中的连接,其中的连接形式如下: ``` <a class="item" href="/pageContent.htm"><img src="pic.jpg" title="全国地图" alt="全国地图" class=""></a> ``` 楼主自己写了个插件小demo,但是跑不成功,具体manifest.json文件如下所示: ``` "browser_action": { "default_icon": "icon/wuzang.png", "default_popup": "popup.html" }, "permissions": [ "tabs", "http://*/*","https://*/*" ], "content_scripts": [ { "js": [ "jquery-1.7.2.min.js", "contentJs.js" ], "matches": [ "http://XXX.html] } ], "default_locale": "en", "description": "demo", "manifest_version": 2, "name": "demo", "version": "0.10" ``` ContentJs文件如下所示: ``` function toMap(){ console.debug("toMap") //选中该连接的url mapHref = $("#a").attr("href") alert(mapHref) if(mapHref == undefined) return; else goToLink(mapHref) } function goToLink(href){ location.href = href; return; } function toMap2(){ console.debug("toMap") map = $("a"); map.click(); } setInterval(toMap2(),5000) setInterval(toMap(),5000) ``` 这样写完了之后,页面只在刷新重新加载的时候弹出了tomap()方法中的alert提示框,显示undefined,请问有大神知道为什么这样做行不通吗

chrome浏览器怎么关闭非脚本打开的窗口?

如题,关闭的时候js会报错误 Scripts may close only the windows that were opened by it. 试过 window.opener=null; window.open('','_self'); window.close(); or window.opener=null; window.open('','_self', ''); window.close(); or open(location,'_self', ' '); //这里有设置个弹窗, 会无限弹窗。 望大神赐教

chrome扩展执行tabs.executeScript报错提示no main frame

在选项卡里打开www.baidu.com,然后在background里后台运行chrome.tabs.executeScript(cid, {code:"document.body.innerHTML +='< div >aa< /div >'",allFrames:false}); 提示no main frame;不知道怎么解决。

求助:selenium+webdriver.Chrome打开浏览器地址栏只显示data;怎么解决?

用selenium+webdriver打开浏览器,只显示data; Chromedriver与chrome版本相对应,python、python\scripts、Chromedriver环境变量都配置好了,但是还是打不开浏览器 代码如下: ![图片说明](https://img-ask.csdn.net/upload/201911/30/1575104145_327134.png) 运行结果报错: ![图片说明](https://img-ask.csdn.net/upload/201911/30/1575104238_288471.png) 请问该如何解决?

window.close()方法在chrome浏览器为何有时有效,有时无效?求具体解法

window.opener=null; window.open(' ','_self');‘ 空格’ window.close(); window.location.href="about:blank"; window.close(); 以上方法都试过

求助Linux下的Firefox插件开发方法

最近有个项目要实现客户端打印二维码,客户端是中标麒麟国产操作系统,没有现成的浏览器插件,只能自己开发浏览器插件,Linux下的如何开发,小弟不才尚不能搞定,望路过的高手,有过该经历或者知道些的,不吝赐教。谢谢![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/13.gif)

为什么我适用chrome.tabs.executeScript没有反应

我要实现这样一个功能:打开一个新tab时,如果浏览器已经存在百度网站的tab,那么就在这个百度tab里注入一段代码(为了测试方便,这里就用alert语句)。 这里tb[0].id自然就是那个被抓取到的百度tab的ID,经单独测试没有错误,是有数值的。但是后面那个code就一直执行不了,换成file也不行,不知道什么原因,请求大神解答 chrome.tabs.onCreated.addListener(function(tab) { chrome.tabs.query({url:"https://www.baidu.com/"},function(tb){ chrome.tabs.executeScript(tb[0].id,{code:"window.alert(11)"},null); }); }); ------------------------------------------- json文件: { "manifest_version": 2, "name": "demo", "version": "1.0.0", "description": "简单的Chrome扩展demo", "permissions": ["storage","tabs","activeTab"], "background": { "scripts": ["background.js"], "persistent": false } }

java代码模拟浏览器,访问网页;使网页中的统计代码能执行。

我的操作步奏: 1、Eclipse里面写个简单的jsp页面,加入CNZZ统计脚本,启动服务器。 2、浏览器访问。浏览器中访问jsp,CNZZ系统能统计到该次访问。 3、java代码访问。HttpClient的get请求访问同一地址(浏览器中地址),能获得正确响应,但是CNZZ系统,统计不到该次访问。也就是说没有执行统计脚本。 第三点中如何让CNZZ统计到代码的访问???(我百度查看过很多文章,一般就停留在获取页面代码,不能像浏览器一样执行。) 一般来说: 浏览器的工作流程: 1、访问URL得到HTML。 2、解析HTML,得到另外一堆URL,比如图片,js等等 3、访问js,图等URL取得资源 4、显示图片,执行js 那么java代码怎么模拟浏览器来执行js? 我百度查看过很多方法,都只能执行一般的js;像浏览器中的js可能会有document,window等对象,就不能识别了。 求高手解答,总之,我的目的:java代码模拟浏览器,访问网页;使网页中的统计代码能执行。

UC浏览器显示网页异常

看图,这是怎么回事呢,急啊!![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/18.gif)![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/18.gif)![图片](https://img-ask.csdn.net/upload/201606/07/1465308006_490315.jpg)![图片](https://img-ask.csdn.net/upload/201606/07/1465308011_956070.jpg)

openwrt编译 ./scripts/feeds update -a 出错,

when i running :./scripts/feeds update -a but it is failes like down : mjj@mjj-B85M-HD3-A:~/trunk$ ./scripts/feeds update -a String found where operator expected at /usr/lib/perl/5.18/Cwd.pm line 612, near "7 ''" (Missing operator before ''?) Unrecognized character \x03; marked by <-- HERE after <-- HERE near column 1 at /usr/lib/perl/5.18/Cwd.pm line 614. Compilation failed in require at /usr/share/perl/5.18/FindBin.pm line 83. BEGIN failed--compilation aborted at /usr/share/perl/5.18/FindBin.pm line 83. Compilation failed in require at ./scripts/feeds line 3. BEGIN failed--compilation aborted at ./scripts/feeds line 3. mjj@mjj-B85M-HD3-A:~/trunk$

extjs4怎么刷新<iframe>

``` var tab = Ext.create('Ext.TabPanel', { id:'myTabPanel', region:'center', layout: 'fit', itemId: 'center-tabs', items : [{ id:'home', title : "Home Page", iconCls: 'House', html : '<iframe src= "jsp/homepage.jsp" width="100%" height="100%" marginwidth="0" framespacing="0" marginheight="0" frameborder="0" ></iframe>', /*loader: { url:'jsp/homepage.jsp', loadMask: 'loading...', autoLoad: true, scripts: true },*/ listeners:{ activate:function(tab){ } } }] }); ``` 试了好多方法都没用 this.loader.load(); tab.getUpdater().refresh(); this.getActiveTab().refresh();

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

你以为这样写Java代码很6,但我看不懂

为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码。下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧。 IntStream.range(1, 5).boxed().map(i -&gt; { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

立即提问
相关内容推荐