鍍金池/ 問答/ HTML問答
青黛色 回答

跨域問題不應該在nginx解決,而且粗暴的添加set_header反而會出問題,nginx并不會對這些set_header進行驗證,反而會出現(xiàn)一些容易造成瀏覽器混淆的問題。

跨域問題必須在后臺解決,而后端框架一定能處理跨域問題。讓開發(fā)改代碼吧

風清揚 回答

以 TITLE 為 KEY,建立一個 MAP,如果 MAP 中找到指定的 KEY,把對應的數(shù)據(jù)取出來,合并 details 數(shù)組,沒找到就把當前記錄加進去。完成之后把 MAP 轉成數(shù)組,如果要保留原順序,在建 MAP 的同時建一個數(shù)組來保持順序,注意 MAP 和數(shù)組的同步。

先思想下上面的思路,我晚點再來補代碼


還要先恢復你的原始數(shù)據(jù)……下次問問題記得把原始數(shù)據(jù)貼出來

[
    {
        "title": "蠻荒記(樹下野狐)",
        "details": {
            "page": {
                "from": 28,
                "to": 29
            },
            "time": "2018-3-12 15:45",
            "type": "標注"
        },
        "snippet": "半山紅葉如火,層林盡染,被狂風呼卷,仿佛漫漫火海,搖曳跳躍。山坡上衰草起伏不絕,一直連綿到平原上,宛如接天洶涌海浪。"
    },
    {
        "title": "蠻荒記(樹下野狐)",
        "details": {
            "page": {
                "from": 28,
                "to": 29
            },
            "time": "2018-3-12 15:45",
            "type": "標注"
        },
        "snippet": "精銳之師。其座下飛獸也是精挑細選的極為兇猛的靈獸,又經(jīng)特殊培訓,嗜血好殺,見著漫天兇獸,非但毫不畏縮,反倒激起狂暴兇性。"
    },
    {
        "title": "蠻荒記(樹下野狐)",
        "details": {
            "page": {
                "from": 28,
                "to": 29
            },
            "time": "2018-3-12 15:45",
            "type": "標注"
        },
        "snippet": "測試筆記內容"
    },
    {
        "title": "炎武戰(zhàn)神 (xiao少爺)",
        "details": {
            "page": {
                "from": 2770,
                "to": 2771
            },
            "time": "2018-5-10 10:25",
            "type": "筆記"
        },
        "snippet": "這是一條測試的筆記內容"
    }
]

然后才是處理代碼

// source 引用的是原始數(shù)據(jù)
// target 是生成的新數(shù)據(jù)

const target = (() => {
    const dict = {};
    source.forEach(m => {
        let model = dict[m.title];
        if (model) {
            model.details.push(m.details);
            model.snippet.push(m.snippet);
        } else {
            dict[m.title] = {
                title: m.title,
                details: [m.details],
                snippet: [m.snippet]
            }
        }
    });
    return Object.values(dict);
})();
離殤 回答

css樣式寫錯了 謝謝大家的點撥

瘋子范 回答
  1. 最后的結果沒區(qū)別。但是如果你對時間要求很高的話,我建議是服務端渲染,比如頁面緩存。而如果要求不是太高的話,我更傾向于前端渲染(開發(fā)方便很多),SEO可以通過ua返回一個完整頁面,不是太大的問題。
  2. 這樣前端就不用關心后端服務,不用發(fā)送一堆請求然后組合出需要的視圖數(shù)據(jù),這部分都交到node上做,后端變更也只需要同時更新node服務。
  3. 短板暫時沒想到。等大佬指出。

補充

看到樓下的回答想起了耗子老師的一篇文章分布式系統(tǒng)架構的冰與火
問題3的邏輯大致相同

圖片描述

久不遇 回答

stable最新版是66吧,我用66版看官方文檔中的MessageBox并沒有問題
beta/dev版有bug很正常的,一般來說正常用戶不會用這種版本

朕略萌 回答

在setTop里面吧index存起來不就好了,在cancelTopTop取這個存起來的index就是原始位置

扯機薄 回答

視頻預覽的話使用html5的video網(wǎng)上也有好的封裝好的庫,可以使用開源的ckplayer(http://www.ckplayer.com),pc端、移動端,mac都能兼容。
PDF預覽可以使用pdf.js,功能比較完善。如果不考慮很多瀏覽器兼容性的話直接使用
<embed src="url.pdf" id="review" style="width:500px; height:400px; margin-top:45px;margin-left:500px" >
</embed>
ppt沒實際經(jīng)驗,不好說。

夏夕 回答

你的返回值是json格式的數(shù)據(jù),轉化之后打印出來看下數(shù)據(jù)結構就搞定了,不過最好做個判斷,防止數(shù)據(jù)為Null報錯~

兔囡囡 回答

\b匹配單詞邊界

let str = 'a+abc+a+(m*c)';
let reg = /\ba\b/g;
console.log(str.replace(reg,'d'));
尤禮 回答

background-size放進background里。
background: [background-color] [background-image] [background-repeat] [background-attachment] [background-position] / [ background-size] [background-origin] [background-clip]

朕略萌 回答

管理系統(tǒng)的權限控制,之前做的是,根據(jù)登錄的角色權限一次獲取所有的菜單列表循環(huán)上去。
你這樣層級獲取的目的是?菜單列表數(shù)量巨大的原因?

青檸 回答

已解決,添加自定義 blots 注冊到Quill 中

爛人 回答

再一次強調,react為數(shù)據(jù)驅動。
所以,radio選中是對應數(shù)據(jù)中的一個值,例如:

this.state = {obj: {role: ''}};

<Modal>
    <div>
        <radio value={this.state.obj.role}/>
    </div>
</Modal>

每次打開的時候呢將值初始化一下就可以了。

北城荒 回答

底部的彈框加個回調監(jiān)聽touchmove(高版本chrome注意第三個參數(shù),否則會報錯),然后preventDefault()或者阻止冒泡

莫小染 回答
  1. 復寫了 這個空注釋節(jié)點(createComment)的 setAttribute 方法為一個不會產生任何作用的函數(shù),可能是為了防止后續(xù)操作的報錯吧,因為原本是 dom 節(jié)點,肯定會有對 dom 的屬性的操作的,而換成注釋節(jié)點后不能設置屬性?(不清楚)。
  2. vnode 是虛擬節(jié)點,可以把 vnode 當做實際節(jié)點創(chuàng)建的前身。你看把原本要創(chuàng)建的 elm 就換成了一個注釋節(jié)點,就創(chuàng)建不出來原本的 element 了。存儲了要創(chuàng)建的節(jié)點的一些信息,和創(chuàng)建使用的方法。把 vnode 上的 節(jié)點相關信息清空或修改,就創(chuàng)建不出來原本的節(jié)點結構了。
呆萌傻 回答

現(xiàn)行的數(shù)據(jù)結構是一個數(shù)組,可以對這個數(shù)組進行循環(huán),相同的區(qū)的item存入一個數(shù)組,數(shù)據(jù)結構由一個一層數(shù)組,變成一個兩層的數(shù)組,然后可以在頁面中顯示

久舊酒 回答

.clearfix {

display: block;
clear: both;

}
要使用塊元素。

失心人 回答

如果value不存在,返回true。如果value存在并且在data.label里面出現(xiàn)過,就返回true。如果value存在并且不在data.label里面,就返回false。

別傷我 回答

看下源碼就知道了,應該是classList不支持ie9,加個polyfill