鍍金池/ 問答/ HTML問答
若相惜 回答

下面的這樣可以,但是我還想要再被點擊的li元素添加一個class,并移除之前被點擊的li元素添加的class,不知道怎么寫,求幫忙多謝啦!

<script type="text/javascript">
$(function(){
    $("ul li").click(function(){
        var cls = $(this).attr("class");
        if(cls=='all'){
            $("#tabs div").css('display','block');
        }else{
            $("#tabs div").each(function(){
                if($(this).hasClass(cls)){
                    $(this).css('display','block');
                }else{
                    $(this).css('display','none');
                }
            });
        }
    });
});
</script>
鹿惑 回答

前后端分離方式,實現(xiàn)跨域:

1.模擬后端開發(fā),拉后端代碼。(要后端代碼,沒坑,效率低)
2.前端開啟web服務(wù)器,node服務(wù)器或者nginx服務(wù)器。(前端自由,不用管后端)

node服務(wù)器:

proxyTable: {
  '/api': {
    target: 'http://segmentfault.com',
    pathRewrite: {
      '^/api': ''
    }
  }
}
1.比如ajax接口"/getMessage",本地"localhost:8080/getMessage",有跨域的問題。
2.localhost:8080 => http://segmentfault.com,本地開啟服務(wù)器實現(xiàn)代理。

nginx服務(wù)器:

http {
    server {
        listen  8080; #本地端口        
        server_name localhost;
        location  ~*/get*|post* { #nginx正則匹配(可高度自定義)            
            proxy_pass http://segmentfault.com; #反向代理
        }
    }
}
1.比如ajax接口"/getMessage",本地"localhost:8080/getMessage",有跨域的問題。
2.localhost:8080 => http://segmentfault.com,本地開啟服務(wù)器實現(xiàn)代理。
3.nginx反向代理更多配置查詢http://www.nginx.cn/115.html。

參考:
1.Vue-cli proxyTable
2.nginx搭建web服務(wù)器

解夏 回答

fiddler是攔截不到代理服務(wù)器發(fā)出的請求的,

所以你得弄清這個錯誤是代理服務(wù)器響應(yīng)的,還是111.231.0.208 通過代理服務(wù)器響應(yīng)給你的。

歆久 回答

兩種辦法
1.看下你定義的動畫多少s。然后setTimeout用在多少s后在調(diào)用
2.在methods里面定義一個函數(shù)去獲取你要的dom,然后在過渡動畫加上JavaScript鉤子,在進入完成后在調(diào)用函數(shù)即可

clipboard.png

入她眼 回答

jsonp 應(yīng)該不行,報錯信息也提示了,這是張圖片,不是可執(zhí)行腳本,可以換種方式:

    window.onload = function() {
        var aLink = document.createElement('a');
        aLink.;
        aLink.download = 'img';
        aLink.style.display = 'none';
        document.body.appendChild(aLink);
        aLink.click();
    };

jsonp 為什么不行,這要涉及到 jsonp 的原理了,比如一個可以通過 jsonp 訪問的 url

http://freegeoip.net/json/?callback=handleResponse

實際上這個 url 里的內(nèi)容應(yīng)該是這個樣子:

handleResponse(data);

jsonp 技術(shù),實際上代碼是這樣:

var script = document.createElement("script");
script.src = "http://freegeoip.net/json/?callback=handleResponse";
document.body.insertBefore(script, document.body.firstChild);

很明顯,這個元素加載好了后,肯定直接執(zhí)行腳本里的代碼,實際上就是執(zhí)行

 handleResponse(data);

那么,如果你在本地腳本里定義了 handleResponse 函數(shù)

 function handleResponse(data){
     // do something about the data
 }

那你兩串代碼連在一起不就是:

 handleResponse(data);
 function handleResponse(data){
     // do something about the data
 }

那這個跨域的數(shù)據(jù)不就直接在 handleResponse 里拿到了么,,,但你這里是圖片,不是可執(zhí)行腳本,當然會報錯

涼汐 回答

你可以試試百度的富文本編輯器,應(yīng)該可以滿足需求!

野橘 回答

a標簽加個download,

<a href="XXX.jpg" download=""> //可以寫,寫了下載名稱就是這個名字
萌面人 回答

要求SSL 加密鏈接
還有可是
過期,或你用的是盜版

淡墨 回答

同問,我也發(fā)現(xiàn)這個問題,vue.js開發(fā)的站點,打開f12,過一段時間就會進入debugger狀態(tài),但是自己并沒有斷點!

帥到炸 回答

html讀取是自上而下的,建議先加載css層疊樣式文件再加載js文件,這樣即使網(wǎng)慢的時候也會先顯示出大體輪廓,如果先加載js則會影響頁面樣式。

刮刮樂 回答

這些都是 ES6解構(gòu)拓展運算符(...) 的一些知識,看我寫的這個小栗子就知道什么作用了。

關(guān)于結(jié)構(gòu)可以去學習一下,自己谷歌搜索一下 ES6 的解構(gòu) 和 拓展運算符,一堆教程。

擴展運算符( spread )是三個點(...)。它好比 rest 參數(shù)的逆運算,將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。

console.log(...[1, 2, 3])
// 1 2 3
console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5
[...document.querySelectorAll('div')]
// [<div>, <div>, <div>]

拓展運算符(...) 用于操作數(shù)組,有兩種層面

  1. 第一個叫做 展開運算符(spread operator),作用是和字面意思一樣,就是把東西展開。可以用在 arrayobject 上都行。

比如:

let a = [1,2,3];
let b = [0, ...a, 4]; // [0,1,2,3,4]

let obj = { a: 1, b: 2 };
let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 }
let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }
  1. 第二個,第三個叫做 剩余操作符(rest operator),是解構(gòu)的一種,意思就是把剩余的東西放到一個array里面賦值給它。一般只針對array的解構(gòu),其他的沒見過。。。

比如:

let a = [1,2,3];
let [b, ...c] = a;
b; // 1
c; // [2,3]

// 也可以
let a = [1,2,3];
let [b, ...[c,d,e]] = a;
b; // 1
c; // 2
d; // 3
e; // undefined

// 也可以
function test(a, ...rest){
  console.log(a); // 1
  console.log(rest); // [2,3]
}

test(1,2,3)

還有類似的

let array = [1, 2, 3, 4, 5];
const { x, y, ...z } = array;
// 其中z=[3, 4, 5],注意如果由于array的length不足以完成析構(gòu),則會導致z為[]
對象:
let obj = { name: 'zhangsan', age: 30, city: 'shenzhen' };
const {name, ...others} = obj;
console.log(name); // 'zhangsan'
console.log(others); // {age: 30, city: 'shenzhen'}

Object.keysObject.values 顯而易見一個獲取對象的 key 值,一個獲取對象的 value 值,返回的都是數(shù)組。

關(guān)于數(shù)組的 every 用法,其實也很簡單。

對數(shù)組中的每個元素都執(zhí)行一次指定的函數(shù)(callback),直到此函數(shù)返回 false,如果發(fā)現(xiàn)這個元素,every 將返回 false,如果回調(diào)函數(shù)對每個元素執(zhí)行后都返回 true ,every 將返回 true。它只對數(shù)組中的非空元素執(zhí)行指定的函數(shù),沒有賦值或者已經(jīng)刪除的元素將被忽略


//測試是否所有數(shù)組元素都大于等于10:

function isBigEnough(element, index, array) {
    return (element >= 10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true
//結(jié)果:
//[12, 5, 8, 130, 44].every(isBigEnough) 返回 : false 
//[12, 54, 18, 130, 44].every(isBigEnough) 返回 : true

小伙子基礎(chǔ)要學好啊,這些都是語法基礎(chǔ)

初念 回答

mp4,最保險的格式,不要去試那些小眾的格式,有可能本地播放器都不支持

熟稔 回答

就是把回調(diào)函數(shù)改成了箭頭函數(shù),完全沒什么問題啊

莫小染 回答

express-session 保存用戶登陸信息,或者可以用redis保存,每個用戶都一個保存三條登陸信息的隊列,判斷時間就行了

毀與悔 回答

Swiper 3D flow類似這種

墨小羽 回答

你這里的dialogVisible只是用傳入的參數(shù)初始化了,并不會根據(jù)傳入的參數(shù)而變化,畢竟它不是計算屬性。。
參考:https://vuejs.org/v2/guide/co...

更新:
我自己寫了一個,你看看;要點在于父組件傳入的屬性參數(shù)是不能在子組件里直接修改的,實際控制dialog顯示隱藏的最終都是父組件修改isShow的值實現(xiàn)的,子組件只是觸發(fā)自定義事件:

<body>
    <div id="father">
        <button @click="toggleDialog">toggle dialog</button><br>
        <el-dialog v-show="isShow" :dialogVisible="isShow" @on-close="closeDialog">
        </el-dialog>
    </div>

    <script src="https://cdn.bootcss.com/vue/2.5.13/vue.min.js"></script>
    <script type="text/javascript">
        Vue.component('el-dialog',{
            template: '<p><button @click="close">close dialog</button> <slot></slot></p>',
            props: {
                dialogVisible: {
                    type: Boolean,
                    default: false
                }
            },
            methods: {
                close: function(){
                    this.$emit('on-close');
                }
            }
        });

        new Vue({
            el: '#father',
            data: {
                isShow: false
            },
            methods: {
                toggleDialog: function(){
                    this.isShow = !this.isShow;
                },
                closeDialog: function(){
                    this.isShow = false;
                }
            }
        })
    </script>
</body>

建議在你提問表述不清楚的時候也做一個能表達你問題的最小系統(tǒng)吧

遺莣 回答

flow
沒記錯的話是 flow

菊外人 回答

總結(jié)起來有兩個問題

  1. 如何在 python 與 javascript 之間通訊
    可使用 QWebChannel 作連接,在可以通訊的情況下,你的第3個問題便可透過動態(tài)加載腳本解決。
    參考 https://stackoverflow.com/que...
    https://doc.qt.io/qt-5/qwebch...
  2. 如何使用代理
    可使用 QtNetwork。
    參考 https://stackoverflow.com/que...

你應(yīng)該善用谷歌搜索,這些問題都有現(xiàn)成的解答。


順便提一下,jquery.js 整個腳本可以通過類似的方式植入,不必要加在現(xiàn)有的 injected.js 腳本文件里。現(xiàn)學現(xiàn)用,靈活一點。

未命名 回答

driving.search(start, end, {waypoint: arr}) 有三個參數(shù),start:起點; end:終點; {waypoint:arr} 途經(jīng)點,將途經(jīng)點數(shù)組放進第三個參數(shù)里面即可以根據(jù)指定定位點繪制出路徑規(guī)劃