鍍金池/ 問答/ HTML問答
青裙 回答

目前看到有:

  • 使用idea自帶的html預(yù)覽功能(這個(gè)功能和實(shí)際部署到服務(wù)器上的效果相同)。前端需要依賴后端做同源處理防止跨域。
  • 使用nodejs的express服務(wù)器。這塊就是完全的nodejs做法,前端實(shí)際上也是有后臺(tái)代碼,頁(yè)面調(diào)用前端服務(wù),然后前端服務(wù)調(diào)用后端服務(wù)。
抱緊我 回答

1:需要登錄頁(yè)面的攔截

/*
* 在beforeEach中攔截
* https://router.vuejs.org/zh-cn/advanced/navigation-guards.html
*/

routes.beforeEach((to, from, next) => {
  if(to.matched.some(record => record.meta.requiresAuth)){
    
    if (noLogin) { // 沒有登錄則跳轉(zhuǎn)/login頁(yè),進(jìn)行登錄 
      next({
        path: '/login',
        query: { redirect: to.fullPath }
      })
    } else {
      next()
    }
  }else{
    next()
  }
})

2:登錄成功后進(jìn)入到command頁(yè)面,返回不回到登錄頁(yè)

// 登錄成功后的跳轉(zhuǎn)使用router.replace,而不是router.push
this.$router.replace('/command')
若相惜 回答

封裝一個(gè)sendMessage發(fā)送消息,每次send之前判斷readyState狀態(tài),

懷中人 回答
但是問題是現(xiàn)在把打包生成的dist目錄下修改過的壓縮文件復(fù)制出來放到項(xiàng)目的src目錄下,重新引入,引入方式如下圖,但是引用不會(huì)生效,并報(bào)錯(cuò)

webpack會(huì)有自已的runtime來啟動(dòng)各模塊的加載順序,所以你的方式肯定是不行的

后來插件內(nèi)容不能滿足需求,自己修改了插件內(nèi)容并重新執(zhí)行插件的build生成新的引用,可以滿足需求。

按你原來的做法,其實(shí)就解決了問題了,如果你覺得改在node_modules里不好,你還有兩個(gè)方式

  1. 把該腳本從node_modules抽出來,放在自已的工程目錄里
  2. fork該依賴包,自已更改再發(fā)布包,然后安裝你自已的包
還吻 回答
  1. 后端提供restful;
  2. 路由前置,react-router提供;
  3. 前端獲取后端數(shù)據(jù)用Ajax;
  4. nginx提供反向代理到后端;
嫑吢丕 回答

你的target寫錯(cuò)了哦。如樓上所說

鐧簞噯 回答

應(yīng)該是有換行符, 試試這句

re.findall(r'class="col_xiaoh">\s*?(\d*,\d*)', apply_page.replace('\n', ''))
寫榮 回答

COPY 我這個(gè)到txt.html 打開試一下。

<head>
<style>
#draggable { width: 800px; height: 500px; }
iframe{  width: 100%; height: 100%;}

</style>

<html>
<body>
<div>
    <iframe id="draggable" src="a.html"></iframe>
</div>
<script type="text/javascript">
var reset = false;
function Resize () {

var doc = document.getElementById("draggable").contentDocument || document.frames["draggable"].document;  
var Text=doc.getElementById("test");
//修改大小

 if (reset == true) {
     Text.style.fontSize='100px';
     reset = false;
  } else {
    Text.style.fontSize='12px';
    reset = true;
  }

};
</script>
<input type="button" onclick="Resize()" value="Resize" />
</body>

</html>

<html>

<html>
<head>
</head>

<body>
<div id="test">test</div>
<body>
</html>

===============上面這個(gè)是一個(gè)a.html======================

圖片描述
上面框架里的內(nèi)容縮放,

下面是整框架的縮放,

<html>
<body>
<div>
    <iframe id="draggable" src="http://www.baidu.com"></iframe>
</div>
<script type="text/javascript">
var reset = false;
function Resize () {
  var obj = document.getElementById("draggable");
  if (reset == true) {
      obj.style.height="400px";
      obj.style.width="500px";
      reset = false;
  } else {
    obj.style.height="0px";
    obj.style.width="0px";
    reset = true;
  }

};
</script>
<input type="button" onclick="Resize()" value="Resize" />
</body>

</html>
毀憶 回答

這是qq推廣,示例代碼這里
然后應(yīng)該要設(shè)置qq號(hào)允許陌生人進(jìn)行臨時(shí)會(huì)話

瞄小懶 回答

問題1 可以用url rewrite實(shí)現(xiàn)
問題2 可以把cc的配置單獨(dú)放在該配置之前,或者配合一下if指令達(dá)到目的

淺淺 回答

<el-table-column prop="createdate" header-align="center" align="center" label="日期" width="140">

<template scope="scope">
    <el-date-picker type="date" clearable :editable="false" v-model="scope.row.createdate"></el-date-picker>

</template>

</el-table-column>

笨小蛋 回答

<textarea maxlength="100"></textarea >。想改為其他長(zhǎng)度直接改maxlength的值就行了

兔寶寶 回答

你模板的事件綁定語(yǔ)法寫錯(cuò)了,(ngSubmit)里面是沒有ng的,直接(submit)="onSumbit()"這樣就好了

別硬撐 回答

說下思路,就不寫代碼了:
1,先定位一個(gè)小圓在12點(diǎn)鐘的位置,然后,循環(huán)克隆元素,每克隆一個(gè)用translate:ratate()進(jìn)行旋轉(zhuǎn),可以先試一下

黑與白 回答

Javascript中,比如一個(gè)變量a,如果判斷a是不是undefined 不是用: a === "undefined"
而是用typeof a === "undefined"
好多人犯這錯(cuò)誤啊。。

====
感謝樓下提醒,undefined加"" 。。

孤影 回答

touch事件,給你個(gè)簡(jiǎn)單的事例吧,返回動(dòng)畫什么的你自己完成吧,我是直接返回的。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0,user-scalable=no">
        <title></title>
        <style>
            *{
                margin: 0;
                padding: 0;    
            }
            html{
                width: 100%;
                height: 100%;
            }
            body{
                width: 100%;
                height: 100%;
                position: relative;
                /* touch-action: none; */

            }
            .box{
                width: 100px;
                height: 100px;
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translateX(-50%);
                background: #000;
            }
        </style>
    </head>
    <body >
        <div class="box" id="box"></div>
    </body>
    <script>
        touch('box');
        function touch(id){
            var obj = document.getElementById(id); 
            obj.addEventListener('touchstart', function(event) { 
            // 如果這個(gè)元素的位置內(nèi)只有一個(gè)手指的話 
            if (event.targetTouches.length == 1) { 
            var touch = event.targetTouches[0]; 
            // 把元素放在手指所在的位置 
            var disX=touch.pageX-obj.offsetLeft; 
            var disY=touch.pageY-obj.offsetTop;
            obj.addEventListener('touchmove',move);  
            function move(event){    
                //event.preventDefault();
                document.documentElement.style.touchAction = 'none';
                    var touch2=event.targetTouches[0];
                    //var l=touch2.pageX-disX;
                    var t=touch2.pageY-disY;
                    // if(l<0){
                    //     l=0;
                    // };
                    // if(l>document.documentElement.clientWidth-obj.offsetWidth){
                    //     l=document.documentElement.clientWidth-obj.offsetWidth
                    // };
                    if(t<0){
                        t=0;
                    };
                    if(t>document.documentElement.clientHeight-obj.offsetHeight){
                        t=document.documentElement.clientHeight-obj.offsetHeight;
                    };
                    //obj.style.left=l+'px';
                    obj.style.top=t+'px';
         
            };
              obj.addEventListener('touchend',chend);
              function chend(event){
                if(obj.offsetTop<150){
                    alert('成功');
                    obj.style.top='auto';
                    obj.style.bottom='0px';
                }else{
                    obj.style.top='auto';
                    obj.style.bottom='0px';
                };
                document.documentElement.style.touchAction = 'auto';
                obj.removeEventListener('touchmove',move);
                obj.removeEventListener('touchend',chend);
              };
        }; 
        }, false);
    };
    </script>
</html>
情殺 回答

之前看過的一個(gè)帖子,分享給你。

process.nextTick 永遠(yuǎn)大于 promise.then,原因其實(shí)很簡(jiǎn)單。。。在Node中,_tickCallback在每一次執(zhí)行完TaskQueue中的一個(gè)任務(wù)后被調(diào)用,而這個(gè)_tickCallback中實(shí)質(zhì)上干了兩件事:

1.nextTickQueue中所有任務(wù)執(zhí)行掉(長(zhǎng)度最大1e4,Node版本v6.9.1)

2.第一步執(zhí)行完后執(zhí)行_runMicrotasks函數(shù),執(zhí)行microtask中的部分(promise.then注冊(cè)的回調(diào))

所以很明顯 process.nextTick > promise.then

作者:何幻
鏈接:https://www.zhihu.com/questio...
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。